Azure搜索与弹性搜索

时间:2019-12-04 17:04:48

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

在我的情况下,客户决定使用Elastic Search而不是Azure Search,这主要是由于Azure Search的评分方式存在挑战以及缺少插件的可定制性。我正在寻找有关以下内容的指南,以查看Azure搜索功能是否已完全更改,或者当前是否可以在不进行大量自定义的情况下满足以下要求:

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

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

谢谢

1 个答案:

答案 0 :(得分:1)

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

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

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

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