Указатель на завершение и точные совпадения в Elasticsearch - PullRequest
0 голосов
/ 15 мая 2019

Я немного удивлен поведением, которое иногда имеет завершение эластичного поиска. Я настроил сопоставление с полем подсказки. В поле ввода предложения я поместил 3 элемента: имя, isin и эмитент одной ценной бумаги.

Вот отображение, которое я использую:

 "suggest": {
                    "type" : "completion",
                    "analyzer" : "simple"
                } 

Когда я хочу запросить свой индекс с помощью этого запроса:

{
  "suggest": {
    "my_suggestion": {
      "prefix": "FR0011597335",
      "completion": {
        "field": "suggest"
      }
    }
  }
}

Я получаю список результатов, но не обязательно с моим точным префиксом, и большую часть времени с точным соответствием не в верхней части.

Так что я хотел бы знать, есть ли способ увеличить точные совпадения в предложении и сделать такие точные совпадения с терминами, чтобы быть на первой позиции, когда это возможно.

1 Ответ

0 голосов
/ 15 мая 2019

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

"settings": {
    "analysis": {
        "char_filter": {
            "punctuation": {
                "type": "mapping",
                "mappings": [".=>"]
            }
        },
        "filter": {},
        "analyzer": {
            "analyzer_text": {
                "tokenizer": "standard",
                "char_filter": ["punctuation"],
                "filter": ["lowercase", "asciifolding"]
            }
        }
    }
},

и

            "suggest": {
                "type" : "completion",
                "analyzer" : "analyzer_text"
            } 
...