我在版本6.6.0中使用Solr,版本6.6.0中使用Lucene。Apache Solr wildchard搜索不起作用
我想創建一個搜索框,顯示在查詢中鍵入命中的建議。
這裏是我的方法:
架構(我只有一個managed-schema
文件):
<copyField source="someField_a" dest="someField_a_wildcard"/>
<field name="someField_at_wildcard" type="wildcard_type" indexed="true" stored="true" />
<fieldType name="wildcard_type" class="solr.TextField">
<analyzer type="index">
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.EdgeNGramFilterFactory" minGramSize="1" maxGramSize="25"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
</analyzer>
</fieldType>
someField_a
是一個dynamic field
:
<dynamicField name="*_a" type="text_general" indexed="true" stored="true"/>
當我輸入的輸入域的東西,我確實得到了結果,但不是我想要的結果:
假設someField_a
是「ABC DE FG.pdf」
當我輸入「ABC」時,我得到了一個結果,但是當我走的時候,結果變得混亂起來,我沒有得到我想要的文檔。
如何正確配置?
你一直沿着什麼走向錯誤? – Mysterion
@Mysterion一件事,它只匹配完整的條件......它匹配STRING,但不是S或STR或任何東西。當我輸入「SO」時,我會得到以「SO」開頭的結果,但是當我繼續時,例如當我輸入「SO 102」時,我用「SO-102」結果結果,但不結合「SO 102」。 – user3629892
..你究竟在哪個領域搜索? 'somefield_a'或'someField_at_wildcard'? admin下的分析頁面對索引名稱和查詢有什麼影響? – MatsLindh