2
Я хотел бы иметь возможность исключить несколько узлов в моем запросе ElasticSearch. В настоящее время этот код работает отлично, но он будет исключать только два узла ($ nodeId1 и $ nodeId2).ElasticSearch bool search using array
Как изменить этот запрос, чтобы я мог использовать массив, который будет содержать столько идентификаторов узлов, сколько мне нужно? Спасибо.
$data_string = '{
"from" : 0, "size" : "' . $maximumResults . '",
"query": {
"filtered": {
"query": {
"match" : {
"thread.title" : {
"query" : "' . $threadTitle . '",
"operator": "or"
}
}
},
"filter": {
"bool" : {
"must" : [],
"must_not" : [
{
"term" : {"thread.discussion_id" : "' . $currentThreadId . '"}
},
{
"term" : {"thread.node" : "' . $nodeId1 . '"}
},
{
"term" : {"thread.node" : "' . $nodeId2 . '"}
}
],
"should" : []
}
}
}
}
}';
Спасибо, Дэн. Это именно то, что мне нужно, и ваш пример отлично работал. Я закончил создание простого $ whereclause, и теперь я могу легко добавить столько узлов, сколько захочу. –