之前在查询时都是先调用分词的方法将词分好,再调用查询方法。
<!-- A general unstemmed text field that is better for non
whitespace delimited languanges (nwd) due to
autoGeneratePhraseQueries=false -->
<fieldType name="text_nwd" class="solr.TextField"
positionIncrementGap="100" autoGeneratePhraseQueries="false"> >
<analyzer>
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true"
words="stopwords.txt" enablePositionIncrements="true" />
<filter class="solr.WordDelimiterFilterFactory"
generateWordParts="1" generateNumberParts="1" catenateWords="0"
catenateNumbers="0" catenateAll="0" splitOnCaseChange="0"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
最主要的是autoGeneratePhraseQueries="false"这个属性,虽然不知道有什么负面效果,但一直纠结的分词查询解决了。