Azure 搜索与 Elastic 搜索

标签 azure elasticsearch azure-cognitive-search azure-search-.net-sdk

我有一个场景,客户决定使用 Elastic Search 而不是 Azure 搜索,主要是因为 Azure 搜索的评分方式存在挑战,并且缺乏插件的可定制性。我正在寻找有关以下内容的指导,以了解 Azure 搜索功能是否发生了根本变化,或者当前是否可以在无需进行大量自定义的情况下处理以下要求:

  1. 评分 – Azure 搜索使用默认 TF/IDF 算法为返回的文档分配分数。我客户的客户正在数据中搜索实体(人员和企业),因此 TF/IDF 的相关性不如匹配分数来显示搜索到的名称与结果文档中显示的名称的接近程度。 ElasticSearch 提供名为“重新评分”的功能,您可以自定义返回文档的评分方式,以更好地满足您的需求。 Rescore 是通过在查询本身中传递 Rescore 子句来实现的。在客户当前的 ElasticSearch 部署中,他们根据给定文档返回的分数介于 0 到 1(0% 到 100%)之间,具体取决于文档中的名称与查询的名称的匹配程度。

  2. 自定义插件 – ElasticSearch 允许自定义插件,这些插件基本上是脚本,允许您自定义 ElasticSearch 的行为,以更灵活地满足用户的特定需求。 ES 社区贡献了许多出色的插件,我的客户使用了其中两个插件,这些插件对于他们的搜索体验来说是不可或缺的。 Azure 搜索当时没有或没有此功能。

谢谢

最佳答案

关于第一个主题,替代方案是评分配置文件:

https://learn.microsoft.com/en-us/azure/search/index-add-scoring-profiles

对于第二个,不确定您在谈论哪些插件。 Azure 搜索允许自定义分析器:

https://learn.microsoft.com/en-us/azure/search/index-add-custom-analyzers

关于Azure 搜索与 Elastic 搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59181288/

相关文章:

powershell - 如何使用带有证书身份验证的 powershell 获取 Azure Key Vault secret ?

javascript - Azure 认知搜索 : Sort result by particular result String

elasticsearch - 将ElasticSearch和Azure搜索作为常规数据存储与搜索结合使用是否合适?

elasticsearch - Elasticsearch-过滤器不起作用

elasticsearch - 按多个嵌套属性过滤

elasticsearch - 用于 Elasticsearch 的响应式(Reactive) API

Azure 认知搜索查找类似文档用例

c# - 对时间触发的 Azure 函数进行单元测试

javascript - Javascript 中的简单 Azure 函数可在队列中使用 HTTP 触发器主体

java - 尝试使用获取的访问 token 调用 Office 365 API 时出现 401 Unauthorized