2013-03-06 225 views
0

我剛剛從solr3升級到solr4,在此過程中,我丟棄了舊數據並重新導入了我的文檔。奇怪的是,當我運行/ select?q = *查詢時,我得到的結果按預期返回,但是當我從上面的查詢結果中挑出一個單詞並運行它時,我得到0個結果。除*之外的任何查詢都會返回0個結果。Solr 4返回0個查詢結果,但返回「*:*」查詢結果

我很困惑,並尋找解決問題的途徑。

回答

2

看來您可能依賴於從Solr 3.6中棄用的默認搜索字段。
檢查SOLR-2724 - Deprecate defaultSearchField and defaultOperator defined in schema.xml

您可以將qf param添加到請求處理程序中要搜索的字段。

df參數添加到您的查詢請求處理程序。它命名默認字段。
您也可以使用帶有edismax查詢解析器的qf

+0

我認爲你是專注,但我還沒有弄清楚這個解決方案。 df被設置爲唯一的id字段,並且在調試輸出中確實將查詢更改爲id:search_term,但是這不是「fl」(字段列表)嗎?我不太確定這裏需要更改什麼配置。 – 2013-03-06 07:38:33

+0

也許您正在考慮將eDisMax qf參數作爲要搜索的字段列表。因爲'fl'是作爲結果的一部分返回的字段列表(而不是所有字段)。您是否啓用了eDisMax並定義了qf? – 2013-03-08 14:31:09