繁体   English   中英

搜索Solr:匹配确切结果Koh S *

[英]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>

我的文档将是:

  1. 苏梅岛
  2. 象岛
  3. 兰塔岛

当我搜索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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM