Нечеткий поиск с соответствующей последовательностью терминов в ElasticSearch - PullRequest
0 голосов
/ 14 марта 2019

Я новичок в ElasticSearch.Я пытаюсь создать поиск, где он будет обрабатывать мелкие орфографические ошибки и показывать результат.Для этого я использовал Fuzziness в запросе на совпадение, как показано ниже.

{
"query": {
    "match": {
        "CompanyName": {
            "query": "CBL Da",
            "fuzziness": "AUTO",
            "prefix_length":3,
            "max_expansions":50,
            "fuzzy_transpositions" :false

        }
    }
  }
}

Моя проблема - результат, сгенерированный запросом, не имеет значения.Это то, что он производит:

Cbl industries limited
CBL INVESTMENTS LTD
Cbl travels private limited
Cbl enterprises (india) private limited
CBL DATA SCIENCE PRIVATE LIMITED
CBL GLOBAL INDUSTRIES PRIVATE LIMITED
CBL Trading Concepts Private Limited
D.a. finvest limited
CBL DATA RECOVERY TECHNOLOGIES PRIVATE LIMITED
Da infraworld private limited

Согласно моему требованию он должен дать результат, как показано ниже:

CBL DATA SCIENCE PRIVATE LIMITED
CBL DATA RECOVERY TECHNOLOGIES PRIVATE LIMITED
Cbl industries limited
CBL INVESTMENTS LTD
Cbl travels private limited
Cbl enterprises (india) private limited
CBL GLOBAL INDUSTRIES PRIVATE LIMITED
CBL Trading Concepts Private Limited
D.a. finvest limited
Da infraworld private limited

Я также попробовал его с токенизатором и анализатором.

"edge_ngram_filter": {
               "type": "edge_ngram",
               "min_gram": 2,
               "max_gram": 20
            }

"analyzer": {
            "edge_ngram_analyzer": {
               "type": "custom",
               "tokenizer": "standard",
               "filter": [
                  "lowercase",
                  "edge_ngram_filter"
               ]
            }
         }

Пожалуйста, помогите мне решить эту проблему.

Результат запроса

...