當使用SOLR 4.0進行搜索並嘗試進行短語查詢時,我遇到了一些小問題。SOLR短語查詢
我有一個名爲「idx_text_general_ci」的字段,它是由所有字段組成的不區分大小寫(所有小寫字母)字段。
當我嘗試和搜索短語(船舶鉗工)我SOLR拒絕搜索短語,而不是分裂的短語,2個字 - 以下
/select?defType=edismax&q=idx_text_general_ci:marine%20fitter&debugQuery=true
debugQuery =真正的輸出:
<lst name="debug">
<str name="rawquerystring">idx_text_general_ci:marine fitter</str>
<str name="querystring">idx_text_general_ci:marine fitter</str>
<str name="parsedquery">
(+(idx_text_general_ci:marine DisjunctionMaxQuery((id:fitter))))/no_coord
</str>
<str name="parsedquery_toString">+(idx_text_general_ci:marine (id:fitter))</str>
正如你在上面看到的,它將查詢分成2部分(idx_text_general_ci:marine然後id:fitter)。
我遇到的問題是我的idx_text_general_ci字段中出現了兩次「海洋鉗工」,但它的分數低於出現3次出現單詞「marine」的文檔的排名。我知道,如果我的SOLR用預期的短語搜索字段,情況就不會如此。
如果我用引號將短語換行,我會得到零結果。
任何幫助或在正確的方向微調將不勝感激。
在此先感謝
亞歷
嗨。我剛剛嘗試過,但它也不起作用。 查詢(S)我試過低於>>> Q = idx_text_general_ci:海洋+ idx_text_general_ci:鉗工 和 Q = idx_text_general_ci:海洋%20idx_text_general_ci:鉗工 這些是做正確的方法是什麼? – Alex 2012-07-06 09:28:33
你可以在Solr管理面板中試試這個嗎?在那裏調試要容易得多。如果您直接在瀏覽器欄中輸入,請使用「+」號而不是空格。 – Ansari 2012-07-06 09:32:57
@Alex在管理面板中,您可以使用「分析」選項卡輸入文檔的一部分並查看該文檔的索引,然後輸入查詢並查看處理過程。檢查調試框,你應該能夠找出不匹配的地方。 – Ansari 2012-07-06 09:40:04