我的代碼是如下:SolrQuery不返回結果爲少於3個字符
SolrQuery query = new SolrQuery();
query.setQuery(q.trim());
try {
QueryResponse res = getSolrServer().query(query);
return res.getResults();
} catch (SolrServerException sse) {
log.error(sse);
}
的問題是,當我有一個查詢更多然後3個字符此返回我的反應,例如查詢字符串「che」會迴應結果,但查詢字符串「ch」會返回我沒有迴應。 有沒有一種方法可以覆蓋Solr查詢的最小長度爲3個字符。
是下面的XML導致了問題,如果是我可以用Java
<analyzer type="index">
<tokenizer class="solr.NGramTokenizerFactory" minGramSize="3" maxGramSize="50" />
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
欣賞提前幫助編程覆蓋它。
感謝和問候,
Vaibhav的
Solr會匹配被索引的內容。可能你有一個che而不是ch的匹配。你能否提供更多關於索引什麼,索引如何的知識? – Jayendra
che只是一個例子,問題是可以搜索超過3個字符,但少於3個字符的字符串不會響應任何結果。 – vaibhav
什麼是您在該領域的配置?由於除非您在分析器鏈中使用LengthFilter,否則不存在此配置。 – Jayendra