Килицица в поиске Wildcard

Здравствуйте. Мне помогли с фильтром:

{
  "settings": {
    "analysis": {
      "analyzer": {
        "default": {
          "tokenizer": "standard",
          "filter": [
            "my_phonetic_english",
            "my_phonetic_cyrillic"
          ]
        }
      },
      "filter": {
        "my_phonetic_cyrillic": {
          "type": "phonetic",
          "encoder": "beider_morse",
          "rule_type": "approx",
          "name_type": "generic",
          "languageset": [
            "cyrillic"
          ]
        },
        "my_phonetic_english": {
          "type": "phonetic",
          "encoder": "beider_morse",
          "rule_type": "approx",
          "name_type": "generic",
          "languageset": [
            "english"
          ]
        }
      }
    }
  }
}

Эти настройки позволяют искать на кириллице текст на латинице. Но в моем поиске фильтр работает только в поиске Search For: All words и не работает в Search For: Wildcard

Подскажите как фильтр (который выше) применить к Wildcard

wildcard - это так называемый "term-level query" - это запросы, которые и не пропускают текст запроса через анализаторы.

1 Like

А как тогда искать по части слова с фильтрами? All words работает с фильтром но не ищет по части артикула 0000000123. По 0000000123 находит, а по 123 и 0123 нет :frowning:

А как тогда искать по части слова с фильтрами?

Если по любой части - то N-gram token filter | Elasticsearch Guide [8.11] | Elastic
Если по конечнои или начальной части - то Edge n-gram token filter | Elasticsearch Guide [8.11] | Elastic
Если нули в начале ничего не значат и их надо отбросить - то может лучше индексировать как число?

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.