我已經設置了Solr的第一個'安裝',其中每個索引(文檔)代表一個音樂作品(包含數字(int),標題(字符串),版本(字符串),作曲家(字符串)和關鍵字(串))。我已將字段'標題'設置爲默認搜索字段。Solr:我如何索引和搜索幾個字段?
但是,當我想對所有字段執行查詢時,我該怎麼辦?我想讓用戶有機會在所有領域進行搜索,並且據我所知至少有兩種選擇:
(1)指定查詢應針對哪些字段。
(2)使用複製域設置Solr配置,以便將添加到每個域的值複製到可用於搜索的「全部捕獲」域。然而,在這種情況下,我不確定事情會發生什麼,當我考慮到各個領域的數據類型並不完全相同時(各個領域對較小的程度會通過過濾器,但作爲複製領域值是在原始字段的過濾器運行之前從原始字段中獲取的,我必須將一個單一過濾器應用於複製字段上的所有值。這又會導致整數被「過濾」,就像字符串一樣將)。
這是我應該使用複製域的情況嗎?乍一看,似乎在所有領域搜索都更加「靈活」。但是,也許有成本?
所有的反饋讚賞!謝謝!
謝謝你的回答。然而,我不知道它是否有任何後果(例如,性能方面)來搜索多個字段,而不是基於複製字段值(複製字段)搜索單個字段? – sbrattla 2010-06-14 07:11:30
在性能方面,我認爲不同領域的搜索與在同一領域多次搜索之間存在顯着差異。 Lucene必須對查詢的每個條款進行二分查找。不管它在相同的字段上進行n次搜索還是在不同的字段上進行n次搜索都不應該不同。 – 2010-06-14 13:30:51
感謝您的輸入! – sbrattla 2010-06-14 13:48:30