2016-02-23 45 views
0

我需要執行搜索,在查詢中我將提供多個值,這些值應與一個字段匹配。NEST Elasticseach如何匹配具有許多值的字段

之前,我總是需要由兩個值進行搜索,所以代碼一直在尋找這樣的:

Filter<Document>.Query(q => 
    q.Term(p => p.FieldName, value1) || 
    q.Term(p => p.FieldName, value2)); 

但現在我有值的列表。我沒有看到任何這樣的例子。我使用NEST 1.7.1 感謝您的幫助。

+0

我並不想回答,但是我想澄清一個問題:如果一個字段必須多個值匹配,那麼你可以簡單地搜索值中的任何一個,因爲他們是平等的 - 除非你的多個值是一個字段的子集,在這種情況下,它更加棘手。請詳細說明? – trapsuutjies

+0

@trapsuutjies你是對的,這很容易解決。我雖然如果我添加到一個領域的許多術語,它會創建AND查詢,我的結果將是空的。我錯了。 –

回答

2

該解決方案非常簡單,這是我之前沒有發現的恥辱。

Filter<Document>.Query(q => 
    q.Terms(p=> p.Field, valuesCollection) 
); 
相關問題