0

是否有可能在 Azure 搜索中使用类似 Dismax 查询解析器的功能。例如查询字段 (qf)、短语字段 (pf)、增强功能或增强查询。

我知道当前 Azure 搜索支持 lucene 查询语法这一事实。想检查是否有其他术语/解析器可用于等效功能,或者如果没有,那么 AzureSearch 团队是否希望在未来将其合并。

这是 DismaxQueryParser 的参考链接 https://cwiki.apache.org/confluence/display/solr/The+DisMax+Query+Parser

谢谢

4

1 回答 1

1

Azure 搜索不支持 DisMax 查询。根据您对 DisMax 查询的需求,您可以通过其他方式获得类似的结果。

从召回的角度来看,DisMax 查询与布尔查询相同,因为对于析取,两者都认为文档在相同条件下是匹配的。不同之处在于,DisMax 通过采用最高的个人匹配(加上一个可选的决胜局)对结果匹配进行评分,并且默认情况下布尔查询将分数相加。

如果您从 DisMax 需要的是带有引号、+/- 等的简单语法,那么使用 queryType=simple(默认值)将为您提供 Azure 搜索中的大部分内容,但“~”(模糊/倾斜)除外.

如果您需要的是实际的最大析取方式来对比赛进行评分,那么这在今天是不可行的。

至于您提到的其他功能:

  • 查询字段:Azure 搜索查询中有一个“searchFields”选项可以执行此操作。
  • 短语字段:您可以通过查询单个术语然后在引号中的术语组来手动实现这一点(虽然很痛苦),并使用不同的提升(您需要为此使用完整的 lucene 查询,简单的查询不会这样做,因为个人术语/组提升)。
  • Boost 函数/查询:在 Azure 搜索中没有任何东西可以 1:1 映射到 this,但是评分配置文件允许您对许多使用它建模的场景进行建模。

有关 searchFields 和其他查询选项的详细信息: https ://docs.microsoft.com/en-us/rest/api/searchservice/search-documents

有关评分配置文件的详细信息: https ://docs.microsoft.com/en-us/rest/api/searchservice/add-scoring-profiles-to-a-search-index

于 2016-11-16T03:00:58.217 回答