使用通配符时在SOLR中搜索问题

时间:2017-12-08 09:55:54

标签: java search solr lucene

这是字段名称的字段类型。

<fieldType name="myType" class="solr.TextField">
  <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>

电路名称为ABC123 XYZ456。 当我使用这个通配符搜索*3 x*搜索它时,它不起作用。 看起来,我需要使用反斜杠来逃避空白区域。

但我不想使用转义,因为它将涉及项目中的大量更改。 所以我试着在SOLR中查询时逃避空格。

<fieldType name="myType" class="solr.TextField">
  <analyzer type="index">
      <tokenizer class="solr.KeywordTokenizerFactory"/>
      <filter class="solr.LowerCaseFilterFactory"/>
  </analyzer>

  <analyzer type="query">
      <tokenizer class="solr.KeywordTokenizerFactory"/>
      <filter class="solr.LowerCaseFilterFactory"/>
      <charFilter class="solr.PatternReplaceCharFilterFactory" pattern="[\\s]" replacement="\\\\ " />
  </analyzer>
</fieldType>

它不起作用。

我们是否有任何可以在SOLR方面完成而无需在项目方面进行转移的内容,因此可以使用*3 x*

搜索此文档

0 个答案:

没有答案