Выберите и обновите все соответствующие документы - PullRequest
0 голосов
/ 07 мая 2019

Мы пытаемся сделать следующее, и любая помощь будет принята с благодарностью. Скажем, вы делаете поиск и 100 000 документов соответствуют. Мы хотели бы увеличить счетчик в каждом соответствующем документе. Затем одновременно выберите первую страницу, скажем, первую 50.

Может ли это быть сделано за одну операцию или может быть параллельным сценарием.

Ответы [ 3 ]

0 голосов
/ 08 мая 2019

Вы можете использовать Обновление по запросу, используя NEST. Дайте мне знать, если у вас все еще есть какие-либо проблемы.

0 голосов
/ 08 мая 2019

Вы можете использовать обновление по запросу, чтобы сделать это:

{
 "script": { 
     // fieldName is field you want to increment in document
    "source": "ctx._source.fieldName=params.val", // counter increment by when query match
    "lang": "painless",
    "params": {
        "i": 0,
        "val": i+1,
    }
},
"query": {
      // your match condition
    }
}
0 голосов
/ 07 мая 2019

Вы можете попробовать выполнить многократный поисковый запрос для такого типа маневра: https://www.elastic.co/guide/en/elasticsearch/reference/current/search-multi-search.html

По сути, вы добавляете несколько запросов в одном множественном поиске, который распараллеливается на стороне ES, и возвращает список ответов на каждый запрос.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...