Давным-давно, была проблема: выполняя один и тот же запрос мы получали разный список документов. Оказалось из-за близости _score два документна меняли местами в зависимости от того на какой шард уйдет запрос.
Тогда я изменил search_type на dfs-query-then-fetch и всё, насколько я помню, полечилось - _score
считался в глобальном смысле и был всегда одинаков.
А на днях оказалось, что это уже не работает. Запрос - элементарный, но каждый раз выдается то один _score
, то другой.
curl -s -H "content-type: application/json" "http://localhost:9200/help3/searchtype/_search?search_type=dfs_query_then_fetch&pretty=true" -d'{
"from": 0,
"size": 3,
"_source": false,
"query": {
"match": {
"content.original": {
"query": "интернет"
}
}
}
}'
Как понять почему игнорируется тип поиска? ES 6.8.10, две шарды, одна реплика.
Ответ один:
Ответ два: