2013-08-22 27 views
1

我將如何形成查詢,其中字段中的所有單詞必須存在於查詢中(但可能更多)。舉例來說,如果我有一個文本字段下面的話: 「約翰·史密斯」用於查詢的語法,其中字段中的所有單詞必須存在於查詢中

一種「約翰」查詢應返回任何結果

一種「史密斯」應該返回任何結果查詢

一種「約翰·史密斯」查詢應該返回一個結果

一種「香蕉約翰·史密斯紫色猴子洗碗機」查詢應該返回一個結果

+0

如何查詢「香蕉史密斯約翰紫色猴子洗碗機」應該工作? – Fuxi

+0

這就是我要求的 - 我如何進行查詢,以便在查詢中需要該字段中的所有單詞,但更多是允許的。 – jcantara

+0

奇怪的用例 - 通常文檔比搜索中的關鍵字數量長得多。你正試圖做相反的事情。那麼你是否想要一個帶有字段的文檔作爲「香蕉紫猴洗碗機」等級甚至更高的搜索查詢「香蕉約翰史密斯紫猴洗碗機」而不是簡單的「約翰史密斯」? – arun

回答

0

您可以使用DismaxQueryParser(dismax)/擴展DisMax具有較小「mm」(最小匹配)參數值的Query Parser(eDisMax)。

默認情況下,「mm」設置爲100%,即所有查詢令牌都應在文檔中匹配以將文檔視爲點擊。 「mm」= 10%意味着至少有10%的查詢令牌應該在文檔中匹配以將其視爲點擊。

要配置「毫米」你可以看看here.

您還可以找到有關「MM」細節here.

+0

我不認爲這就是我想要的,但MM決定在文檔中應匹配多少查詢令牌,我不關心這一點。我只關心查詢包含文檔中的所有單詞(可能還有更多);但並不是說查詢中的所有單詞都出現在文檔中。 – jcantara

相關問題