我想要做的就是执行一个查询并获取不区分大小写的结果并且匹配来自索引的部分单词。在Solr中使用多个标记器
我有一个Solr模式设置在此刻被修改,以便我可以查询并返回结果,无论他们是什么情况。所以,如果我搜索iPOd,Iwill会看到iPod返回。要做到这一点的代码是:
<fieldType name="text" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true" />
<filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0" splitOnCaseChange="1"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.SnowballPorterFilterFactory" language="English" protected="protwords.txt"/>
</analyzer>
...
</fieldType>
我发现这个代码,让我们做一个局部的词匹配查询,但我不认为我能有一个字段中的两个断词。
<fieldType name="text" class="solr.TextField" >
<analyzer type="index">
<tokenizer class="solr.NGramTokenizerFactory" minGramSize="3" maxGramSize="15" />
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
...
</fieldType>
那么我能做些什么来在该字段上执行这个标记器呢?
或者有没有办法将它们合并?
或者有另一种方法可以完成这项任务吗?
但现在该如何查询,以便结果将显示在用两个标记器进行标记的数据中?换句话说 - 如何同时从两个标记器获得结果? – 2014-11-19 10:37:07