ElasticSearch - синтаксис запроса, чтобы вернуть только определенное количество результатов и при минимальной оценке - PullRequest
0 голосов
/ 13 ноября 2018

У нас есть запрос ElasticSearch, который выглядит следующим образом:

{
    "size": 150,
    "query": {
        "bool": {
            "must": {
                "nested": {
                    "path": "entities",
                    "score_mode": "max",
                    "query": {
                        "match": {
                            "entities.name": "Donald Trump"
                        }
                    }
                }
            }
        }
    },



    "rescore": [{
            "window_size": 3000,
            "query": {
                "score_mode": "max",
                "rescore_query": {
                    "nested": {
                        "path": "entities",
                        "score_mode": "max",
                        "query": {
                            "function_score": {
                                "doc_score": {
                                    "fields": {
                                        "entities.name": {
                                            "query_value": "Donald Trump"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "query_weight": 0,
                "rescore_query_weight": 1
            }
        }
    ]
}

FYI, предложение rescore связано с подключаемым модулем ElasticSearch, который называется Rosette RNI-ES (https://www.rosette.com/elastic/#identity-resolution), которыйприсваивает оценку релевантности соответствия имен всем результатам.

Мне интересно, каков синтаксис, который мне нужно добавить к этому запросу:

  1. Только возврат50 лучших результатов с наибольшим количеством баллов

  2. Возвращать только те результаты, которые превышают 90%, совпадают в предложении rescore.

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