AzureSearch:Dismax查询解析器功能 [英] AzureSearch : Dismax query parser capabilities

查看:115
本文介绍了AzureSearch:Dismax查询解析器功能的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

是否有可能在Azure搜索中使用像Dismax Query Parser这样的功能.例如查询字段(qf),短语字段(pf),增强功能或增强查询.

Is there any possibility of using Dismax Query Parser like capabilities in Azure search. e.g. Query Fields (qf), Phrase Fields (pf), boost function or boost query.

我知道当前Azure搜索支持lucene查询语法的事实.想要检查是否有其他术语/解析器可用于等效功能,或者如果没有,AzureSearch团队正在寻求在不久的将来将其合并.

I am aware of the fact that currently Azure Search supports lucene query syntax. Want to check if there is some another term / parser available for equivalent functionalities or if not then is AzureSearch team is looking to incorporate it in coming time.

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

Here is the link for reference to DismaxQueryParser https://cwiki.apache.org/confluence/display/solr/The+DisMax+Query+Parser

谢谢

推荐答案

Azure Search不支持DisMax查询.根据您在DisMax查询中的需求,您也许可以通过其他方式获得类似的结果.

Azure Search doesn't support DisMax queries. Depending on what you need out of DisMax queries you may be able to obtain similar results in other ways.

从召回的角度来看,DisMax查询与布尔查询相同,因为对于析取运算,都将文档视为在相同条件下的匹配项.区别在于DisMax通过获取最高的个人匹配项(加上可选的决胜局)来对结果匹配项进行评分,默认情况下,布尔查询会将得分相加.

From the recall standpoint, DisMax queries are the same as Boolean queries in that for disjunctions both consider a document a match under the same conditions. The difference is that DisMax scores the resulting match by taking the highest individual match (plus an optional tie breaker) and Boolean queries add up the scores by default.

如果从DisMax中需要带引号,+/-等的简单语法,则使用queryType = simple(默认设置)将为您提供Azure搜索中的大部分语法,但〜"除外(模糊/slop).

If what you need from DisMax is the simple syntax with quotes, +/-, etc. then using queryType=simple (the default) will give you most of that in Azure Search, with the exception of "~" (fuzzy/slop).

如果您需要的是实际的最大相加得分方式,那么今天不可行.

If what you need is the actual disjunction-maximum way of scoring matches, then that's not doable today.

关于您提到的其他功能:

As for the other features you mention:

  • 查询字段:Azure搜索查询中有一个"searchFields"选项可以执行此操作.
  • 短语字段:您可以手动(尽管很痛苦)通过查询单个术语,然后查询引号中的术语组,并使用不同的增强方法(为此,您需要使用完整的Lucene查询,简单的查询就可以了)之所以这样做是因为个人/小组的提升.
  • 增强功能/查询:没有任何东西可以在Azure搜索中将1:1映射到该函数,但是评分配置文件使您可以对此建模的许多方案进行建模.

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

For details on searchFields and other query options: 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

For details on scoring profiles: https://docs.microsoft.com/en-us/rest/api/searchservice/add-scoring-profiles-to-a-search-index

这篇关于AzureSearch:Dismax查询解析器功能的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆