Elasticsearch - выделение с помощью FVH и нечеткость, требующая много времени для обработки - PullRequest
0 голосов
/ 18 октября 2018

Я проиндексировал один документ с более чем 150 метаданными, каждый с отображением:

"ACTIVE": {
    "type": "text",
    "term_vector": "with_positions_offsets",
    "fields": {
        "autocomplete_analyzed": {
            "type": "text",
            "analyzer": "autocomplete"
            },
        "keyword": {
            "type": "keyword",
            "ignore_above": 256
        }
    }
}

и настройкой:

"analysis": {
    "analyzer": {
        "autocomplete": {
            "filter": [
                "lowercase"
            ],
            "tokenizer": "autocomplete"
        }
    },
    "tokenizer": {
        "autocomplete": {
            "min_gram": "3",
            "tokenize_on_chars": [
                "whitespace",
                "letter",
                "digit"
            ],
            "type": "edge_ngram",
            "max_gram": "7"
        }
    }
}

Я использовал термины _vector длябыть в состоянии использовать быструю векторную подсветку в моем запросе.Мой запрос:

{
    "from": 0,
    "size": 24,
    "query": {
        "bool": {
            "should": [
                {
                    "multi_match": {
                        "query": "current",
                        "type": "best_fields",
                        "fields": []
                    }
                },
                {
                    "query_string": {
                        "query": "*current*",
                        "fields": []
                    }
                },
                {
                    "multi_match": {
                        "query": "current",
                        "fuzziness": "1",
                        "fields": []
                    }
                }
            ],
            "minimum_should_match": 1
        }
    },
    "highlight": {
        "type": "fvh",
        "fields": {
            "*": {}
         }
    }
}    

Мой запрос требует нечеткости, подстановочных знаков и соответствия фраз.Нечеткость и подстановочный знак отключены или включены в зависимости от моего требования на серверной части.Но в Свободном текстовом поиске я должен включить оба из них, включая выделение.

  1. С подсветкой мой запрос занимает более 15000 мс, но без выделения он занимает 800 мс
  2. Без размытия и с подсветкой он занимает около 1200 мс, а без размытия и выделения - около 500 мс.

Медлительность в запросе из-за нечеткости и выделения совместной работы.Каким образом выделение с помощью вектора терминов индексирует документ?почему запрос выполняется так медленно?Это из-за моего запроса или из-за индексации данных?Потому что я буду работать над миллионами документов.Как лучше всего справиться с этой проблемой времени?

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