Поиск по фразе для синонимов из нескольких слов в Elasticsearch

#elasticsearch #synonym

#elasticsearch #синоним

Вопрос:

Возможно ли выполнить поиск по фразе для синонимов из нескольких слов в Elasticsearch?

Допустим, у меня есть этот синоним:

 strip steak bacon, ssb, strip-steak bacon
  

И этот текст в документе:

 Kevin burgdoggen turkey, spare ribs pancetta pastrami drumstick strip steak bacon beef ribs pork. 
Jowl sirloin tenderloin hamburger alcatra short loin biltong cow doner ribeye tri-tip sausage bacon 
capicola pork. Filet mignon meatloaf shoulder cupim tongue meatball. Shankle cow strip steak tail pig
buffalo pork picanha cupim porchetta kielbasa beef. Ground round pork loin filet mignon turducken.
Beef pancetta buffalo strip steak, ground round salami flank porchetta hamburger chicken turducken 
venison sirloin pastrami.
  

Я запрашиваю индекс для ssb простого и простого:

 "query": {
    "match": {
      "body": "all the ssb are belong to us"
    }
}
  

Тогда я хочу, чтобы это интерпретировалось как:

 all the "strip steak bacon" are belong to us
  

В противном случае я получу результаты и основные моменты на основе всех слов ( all, the, strip, steak, bacon, are, belong, to, us ).

Возможно ли это вообще сделать? Я пытался найти документы по этому вопросу, но все они идут другим путем, используя directional synonyms ( strip steak bacon => ssb ) . Теперь я серьезно подумываю о том, чтобы добавить его в свою логику приложения вместо того, чтобы делать это в Elasticsearch, и заменять ssb «s» в запросе вручную, что кажется действительно плохой идеей.

Комментарии:

1. Я думаю, что синонимы — это то, что вам нужно, но вам придется переиндексировать elastic.co/guide/en/elasticsearch/reference/current /…

2. Синонимы @Jaycreation — это то, что я уже использую. Это больше похоже на связанное решение, но я не могу заставить его работать с другими моими фильтрами: jocas.lt/blog/post/synonym-graph-phrase-search