2014-11-08 39 views
0

假設我試圖在任何字段中搜索「Douglas」。如果我只是做:Solr字段:針或q =針&qf =字段不同的結果

solr/query?q=Douglas 

我得到0的反應,但如果我這樣做:

solr/query?q=firstname:Douglas 

然後我得到的反應,這是爲什麼?我也試過:

solr/query?q=Douglas&qf=firstname 

這仍然沒有給我什麼。我如何只搜索所有字段?那麼我如何'提升'某些領域的相關性呢?例如,如果我搜索道格拉斯,那麼稱道格拉斯的人應該在他們的描述中出現帶有「道格拉斯」一詞的項目之前。

回答

0

你在這裏混淆了兩個概念。

缺省搜索針對一個字段。這是由df(默認字段)參數(不是qf)定義的字段。那麼,solr /查詢?q =道格拉斯& df =名字應該工作。 Solr示例通常會將文本字段設置爲默認值,並將copyField指令複製到其他字段中。這可行,但不允許在不同的領域使用不​​同的分析儀。它也不允許根據找到的字段內容進行排序。

如果要搜索具有不同權重的多個字段,則需要切換到dismax或​​。然後,您確實使用qf參數來顯示要搜索的字段。

您可以在Solr管理界面中嘗試所有這些功能。

0

您必須使用複製字段將您的字段複製到文本中以使其可搜索。默認情況下,想要搜索的所有字段值將複製到文本字段中。你必須增加一個副本領域爲herehere

0

在查詢時增加提升:

Q =(名字:道格拉斯)^ 100(體:道格拉斯)^ 50(someField:道格拉斯)^ 25

相關問題