我希望查询wi-fi以匹配索引中带有wifi的文档。所以,我使用solr.WordDelimiterFilterFactory来连接查询中的单词:
<fieldType name="text" class="solr.TextField" positionIncrementGap="100">
<analyzer type="query">
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="1" splitOnCaseChange="1" splitOnNumerics="1" stemEnglishPossessive="0" preserveOriginal="0"/>
<filter class="solr.ICUFoldingFilterFactory"/>
</analyzer>
<analyzer type="index">
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="1" splitOnCaseChange="1" splitOnNumerics="1" stemEnglishPossessive="0" preserveOriginal="0"/>
<filter class="solr.ICUFoldingFilterFactory"/>
</analyzer>
</fieldType>
但是使用此配置查询LGA1155与LGA 1155不匹配,因为查询title:LGA1155被解析为:(title:lga title:1155 title:lga1155)~3
如果我不在查询中连接单词,则LGA1155匹配LGA 1155,因为查询被解析为:(title:lga title:1155)~2。但随后wi-fi与wifi不匹配。
我正在使用edismax查询解析器和q.op是AND。Solr 版本:4.5。
那么,如何使wi-fi匹配wifi和LGA1155匹配LGA 1155(以及其他类似查询)?