Предложение поиска Elasticsearch по полю массива с частичным завершением граничной диаграммы

Я пытаюсь создать суггестер на основе массивов строк в моих документах, он похож на этот, но с несколькими отличиями:completion suggesterfrom Elasticsearch не совсем то, что я хочу (с точки зрения фильтрации и сопоставления префиксов), так как мне нужна граничная ngram, которая будет работать с любым словом предложения без учета акцента. Позвольте мне пояснить на примере.

Предположим, у меня есть следующие проиндексированные документы. Я хочу предложить "теги" на основе запросаq (Меня не интересует сам документ, только tags, которые соответствуют моему запросу)

[
  { "tags": [ "société générale", "consulting" ] },
  { "tags": [ "big data", "big", "data"] },
  { "tags": [ "data" ] },
  { "tags": [ "data engineering" ] }
  { "tags": [ "consulting and management of IT" ] }
]

Я хочу сопоставить префикс с допустимым акцентом, и следующий запрос / ответы подчеркивают, что мне нужно

  • (1) q = "societe" или q = "societe generale" должен вернуться [ "société générale" ] -> нечувствительность к акценту
  • (2) q = "big data" должен вернуться [ "big data" ] -> оба префикса "большой" и "данные" должны быть в строке
  • (3) q = "data" должен вернуться [ "big data", "data", "data engineering" ], -> в любом месте предложения (но как префикс)
  • (4) q = "ata" не должен ничего возвращать (не префикс)
  • (5) q = "IT consulting" должен вернуться [ "consulting and management of IT" ] -> оба префикса q должны совпадать независимо от порядка

Если я использую обычный completion картограф + наводчик,

# assuming a mapping of "tags", of type 'completion' is configured in my ES
{
  suggest: {
    text: "big data",
    tags: {
      completion: {
        field: "tags",
      },
    },

почти ни один из этих случаев не работает, кроме (2), (4) и 1/3 результатов из (3)

Могу ли я создать настраиваемого суггестера или настраиваемого поискового запроса, который удовлетворял бы моим требованиям и приведенным выше примерам?

0 ответов

Другие вопросы по тегам