ElasticSearch - результаты поиска не приходят в порядке возрастания - PullRequest
0 голосов
/ 19 сентября 2018

Я ищу ключевое слово, используя API Java в ElasticSearch, и получаю несколько результатов для моего ключевого слова поиска.Но мое точное поисковое ключевое слово не входит в начало результатов.

Например: Keyword : AB-7000-8003

Получаю ответ ниже для моего поискового ключевого слова.

[
    {
        "code": "AB-7000-8003-W",
        "id": "11569",
    },
    {
        "code": "AB-7000-8003",
        "id": "11573",
    },
    {
        "code": "AB-7000-8003-WK",
        "id": "11565",
    },
    {
        "code": "AB-7000-8003S",
        "id": "11557",
    },
    {
        "code": "AB-7000-8003-k",
        "id": "11569",
    }
]

Ожидаемый результат, как показано ниже в порядке возрастания, и мое точное ключевое слово для поиска должно быть вверху результата:

[

    {
        "code": "AB-7000-8003",
        "id": "11573",
    },
    {
        "code": "AB-7000-8003-k",
        "id": "11569",
    },
    {
        "code": "AB-7000-8003S",
        "id": "11557",
    },
    {
        "code": "AB-7000-8003-W",
        "id": "11569",
    },
    {
        "code": "AB-7000-8003-WK",
        "id": "11565",
    }
]

Пожалуйста, найдите мой код ниже:

SearchRequest searchRequest = new SearchRequest(PRODUCTS_INDEX);
searchRequest.types(TYPE);
SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();

QueryBuilder qb = QueryBuilders.boolQuery().must(QueryBuilders.matchPhraseQuery("product_code", code));


searchSourceBuilder.query(qb);
searchSourceBuilder.size(8000);
searchRequest.source(searchSourceBuilder);

SearchResponse searchResponse = null;
try {
    searchResponse = SearchEngineClient.getInstance().search(searchRequest);
} catch (IOException e) {
    logger.log(Level.SEVERE, e.getMessage(), e);
    ExceptionUtils.handle(e);
}

ИспользуюВерсия ElasticSearch 6.2.3.

1 Ответ

0 голосов
/ 19 сентября 2018

Запросы сортируются по scroe scroe = tf * idf * norm При «нормах»: {«enabled»: false} после закрытия, оценка, независимо от длины поля документа, оценки одинаковы.Проверьте отображение индекса

...