[英]Search Solr: Match exact result Koh S*
我有一个如下的架构
<fieldType name="text" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.KeywordTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.KeywordTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
我的文档将是:
当我搜索Koh *时,它将返回3个结果。 它接受了。 但是当我搜索Koh S *时。 它返回零结果。 我希望结果只会是苏梅岛
我假设您要使用通配符查询。 这取决于您使用的查询解析器。 如果使用标准查询解析器,Dismax或eDismax,则所有这些都不支持通配符查询。
老实说,如果您使用Solr搜索通配符查询,则可能使用了错误的工具作为解决方案,可以使用任何SQL数据库,并在where子句中使用“ Koh S%”之类的文本,这将为您提供你想要什么。
但是无论如何,要在Solr中使用通配符查询,您需要直接使用Lucene查询解析器。 为此,请使用以下查询:
http://localhost:8983/solr/core/select?q={!lucene df=text}Koh S*
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.