Lucene boost区分大小写匹配

Lucene boost区分大小写匹配,lucene,Lucene,我们的客户在其网站上使用了一些首字母缩略词 例如,假设STACK是他们使用的首字母缩略词 当他们搜索“STACK”(关键字)时,他们希望完全匹配“STACK”(大写)的文档位于搜索结果的顶部,而不是匹配“STACK”小写的文档 有没有办法做到这一点?也许通过某种方式 目前我正在使用StandardAnalyzer。来自文档: 公共最终类StandardAnalyzer扩展了StopwordAnalyzerBase 使用StandardFilter、LowerCaseFilter和 StopFil

我们的客户在其网站上使用了一些首字母缩略词

例如,假设STACK是他们使用的首字母缩略词

当他们搜索“STACK”(关键字)时,他们希望完全匹配“STACK”(大写)的文档位于搜索结果的顶部,而不是匹配“STACK”小写的文档

有没有办法做到这一点?也许通过某种方式

目前我正在使用StandardAnalyzer。

来自文档:

公共最终类StandardAnalyzer扩展了StopwordAnalyzerBase

使用StandardFilter、LowerCaseFilter和 StopFilter,使用英语停止词列表


所以“STACK”和“STACK”之间没有区别。您可以再次将关键字添加为与搜索的关键字完全匹配的StringField,并增强关键字字段。

很难对这一情况做出任何判断(堆栈与堆栈)。如果您所有的首字母缩略词都是大写,只需从analyzer链中排除
小写过滤器
。如果您的某些首字母缩略词可能包含点或破折号(例如),您可能需要使用
WhitespaceAnalyzer
(而不是
StandardAnalyzer
),以确保这些词不会被拆分为多个词

对我来说,在这里增强听上去是多余的。比如说,如果有人输入了一个与首字母缩略词非常匹配的查询,由于其相似性,相关文档的排名无论如何都会很高