下面是我的fieldtype,我想在搜索期间保留空白
<fieldType name="searchterm" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.WhitespaceTokenizerFactory" />
<filter class="solr.LowerCaseFilterFactory" />
<filter class="solr.NGramFilterFactory" minGramSize="3" maxGramSize="250" />
</analyzer>
<analyzer type="query">
<tokenizer class="solr.WhitespaceTokenizerFactory" />
<filter class="solr.LowerCaseFilterFactory" />
</analyzer>
</fieldType>
例如:input =“alpha beta”并且我搜索“alpha”,“beta”将匹配,但是如何强制执行非匹配搜索词,例如“alpha eta”(不应该匹配) 。我也应该匹配“eta”,“pha”而不是“alpha eta”
答案 0 :(得分:0)
很高兴知道哪种应用需要这样的搜索: - )。
您可以执行以下操作:
searchterm
。newsearchterm
)。对于newsearchterm
,分析将以这种方式进行:
alpha beta
==&gt; alp
,alph
,alpha
,bet
,beta
因此搜索newsearchterm:(alpha AND eta)
与alpha beta
不匹配。