2011-04-18 54 views
4

我是新來的搜索引擎場景,我想知道如果有人能夠幫助我澄清必須/必須且不應該/不應該搜索查詢。查詢建設者 - 必須不應/不應該


我的理解如下:

必備/ MustNot疑問是絕對的定義(即,結果必須/不得含有指定字段)

的是否應/不應該查詢是相對定義(即在某些情況下,它應該/不應該包含指定的字段)


如果這是正確的,可能有人請我提供的時候,你會使用時應爲例/ ShouldNot ......如果我的理解是完全錯誤的 - 會有人友好地解釋這對我(或指向我一個好的網站)?

謝謝!

Ps。我正在使用彈性搜索(基於Lucene) - 但歡迎任何示例/解釋

回答

4

您的理解是正確的。不應該結果在找到時得到較低的權重,而絕不能包括在內。

當該術語可能屬於不同的域,但在某些情況下仍然可能與我正在查找的文檔位於同一文檔中時,應該使用SHOULD NOT。例如,谷歌知道我是一名Java程序員。當我問「ant」時,第一個結果將是「Apache Ant」。我可以使用MUST NOT作爲「-Apache」,或者我可以使用SHOULD NOT「Apache」,以防萬一某些頁面在Apache本地世界觀中描述了特殊的螞蟻位置。或者,例如,我正在尋找一個免費軟件來完成任務;不過,如果價格不貴,或者他們有個人許可證,我會考慮付費的。因此,我會使用不應該「立即購買」,結果將包括付費軟件,但在列表中較低。

+0

優秀的,很好的解釋。非常感謝你! – 2011-04-18 13:59:21