0
我有這個查詢(例如'hello')和這個id(例如'12345'),我想要搜索的內容與'text'字段中的查詢和'thread'字段中的id都匹配。但是,在給定的IDS是一個數組,這樣的邏輯是這樣的:有沒有辦法查看查詢是否與Elasticsearch中的數組中的任何元素匹配?
function runThisQuery(query, ids) {
client.search({
index: '_all',
type: 'text',
body: {
query: {
bool: {
must: {
match: { text: query }
},
should: [
{ match: { thread: { query: ids[0], operator: 'AND'} } },
{ match: { thread: { query: ids[1], operator: 'AND'} } }
],
minimum_should_match: 1
}
}
}
})
}
有沒有像在運營商(MongoDB中等等)的$相匹配的線程,如果它的「IDS」陣列中?謝謝!
但這是,如果我知道什麼是「價值」已經是。它們將會是動態的,因爲我將它們添加到數據庫中,它不是線程值的靜態數組。 – user3835653
您可以簡單地從數據庫中獲取數組並將其追加到查詢中。 { 「過濾器」:{ 「IDS」:{ 「類型」: 「my_type」, 「值」:*** JSON編碼陣列,並且把這裏**** }} } –