带有空格的solr搜索无法正常工作


solr search with spaces not working properly

我使用solr来搜索我的数据,并且我曾经使用类似的查询进行搜索

title:*something here*

而且它在没有空间的情况下运行良好。但如果我像一样搜索

seva sa

即使我也有低于的

seva samithi

它正在搜索"seva"或"sa"。有人能建议我在索尔做一个合适的搜索方式吗。

您正在执行通配符搜索。通配符搜索不进行分析,因此它们绕过了常规分析链——唯一匹配"*sema-sa*"的是一个包含整个字符串的令牌。这可能是一个StrField,或者是一个用KeywordTokenizer而不是常规标记器索引的字段。

如果你想匹配其中一个单词中的任何内容,一个更好的解决方案可能是使用ngramfilter,这样每个令牌都会以其较短的形式进行索引。

使用(seva sa),假设您有OR某个默认运算符

试试教程

http://www.solrtutorial.com/solr-query-syntax.html

根据我从您的查询中看到的情况,您正在使用通配符,有一些方法可以在solr上进行搜索,因为默认情况下,它使用模糊系统进行搜索,这就是为什么它最终会显示您发布的结果。