Lucene文档评分/排序与正则表达式查询

我正在使用Azure搜索,但假设我的问题更相关的Lucene。 查询完全部分由正则表达式组成时,无法找到关于如何计算文档等级(分数)的任何信息。例如:Lucene文档评分/排序与正则表达式查询

在搜索 “微软” 返回正常计算分数:

{ score: 6.088776, name: "Microsoft Research" } 

{ score: 5.9090853, name: "Microsoft Corporation" }

{ score: 5.0747375, name: "Microsoft Philippines, Inc." }

{ score: 4.93202, name: "Microsoft Dynamics, Inc." }

当 “/ /” 返回带有得分等于搜索到1:

{ score: 1, name: "Microsoft Dynamics, Inc." } 

{ score: 1, name: "Microsoft Philippines, Inc." }

{ score: 1, name: "Microsoft Startup Alley" }

并且搜索“microsoft /。micro。 /”,返回“假设”microsoft“词条分数和/的总和。 微。 /学期成绩(恒等于1):

{ score: 5.2132897, name: "Microsoft Research" } 

{ score: 5.198583, name: "Microsoft Corporation" }

{ score: 4.973414, name: "Microsoft Philippines, Inc." }

我需要的是运行完全正则表达式查询,并计算分数。

回答:

在Azure搜索中,通配符搜索查询(如前缀,正则表达式和模糊搜索查询)通过内部查询重写过程并返回常量分数。这主要是由于性能方面的原因,也是为了防止我们基于默认的基于频率的计分(TF-IDF)偏向于来自不那么频繁的独特条件的匹配。行为记录在https://docs.microsoft.com/en-us/rest/api/searchservice/lucene-query-syntax-in-azure-search#bkmk_searchscoreforwildcardandregexqueries中。目前没有办法改变这种默认行为。如果您认为该功能很重要,请在我们的用户语音(https://feedback.azure.com/forums/263029-azure-search)中创建一个条目以帮助我们确定优先顺序。谢谢。

Nate

以上是 Lucene文档评分/排序与正则表达式查询 的全部内容, 来源链接: utcz.com/qa/257448.html

回到顶部