【问题标题】:AzureSearch : Dismax query parser capabilitiesAzureSearch:Dismax 查询解析器功能
【发布时间】:2016-11-15 05:35:35
【问题描述】:

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

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

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

谢谢

【问题讨论】:

    标签: azure-cognitive-search dismax


    【解决方案1】:

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

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

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

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

    至于您提到的其他功能:

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

    有关 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

    【讨论】:

    • 谢谢巴勃罗。这是一个很棒的见解。
    猜你喜欢
    • 2010-09-22
    • 2017-10-05
    • 2019-02-04
    • 2011-08-13
    • 1970-01-01
    • 1970-01-01
    • 2018-11-26
    • 2020-10-04
    相关资源
    最近更新 更多