我正在使用django 1.5以及haystack 2.1.0。Django-Haystack autoquery給solr後端帶來奇怪的結果
在其中一個模型上使用自動查詢時,我發現了以下行爲。
test_search = "charles ken"
SearchQuerySet().models(Foo, FooSome, FooGone).auto_query(test_search)
以上查詢給出了多個結果。
test_search = "charles k"
SearchQuerySet().models(Foo, FooSome, FooGone).auto_query(test_search)
上面的查詢沒有給出結果。我究竟做錯了什麼 ?
編輯:
的關注領域是edge_ngram
<fieldType name="edge_ngram" class="solr.TextField" positionIncrementGap="1">
<analyzer type="index">
<tokenizer class="solr.WhitespaceTokenizerFactory" />
<filter class="solr.LowerCaseFilterFactory" />
<filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="0" catenateNumbers="0" catenateAll="0" splitOnCaseChange="1"/>
<filter class="solr.EdgeNGramFilterFactory" minGramSize="2" maxGramSize="15" side="front" />
</analyzer>
<analyzer type="query">
<tokenizer class="solr.WhitespaceTokenizerFactory" />
<filter class="solr.LowerCaseFilterFactory" />
<filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="0" catenateNumbers="0" catenateAll="0" splitOnCaseChange="1"/>
</analyzer>
</fieldType>
這是否涉及schema.xml?如果是,那麼您正在搜索的字段使用的字段類型是什麼? –
@AbhijitBashetti我已經編輯了這個問題來包含字段類型。 –
好的。哪個使用什麼?這意味着哪個字段使用什麼類型?如果你分享fieldType細節,這將是一件好事嗎?像什麼分析儀,記號器和過濾器組成? –