Wildcard и нечеткий запрос вместе в упругом поиске - PullRequest
0 голосов
/ 15 сентября 2018

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

По моему мнению, query_string используется для подстановочного поиска, а multi_match может использоваться для нечеткости.

Я хочу запрос, который будет искать по словам: -

"elast": - предоставить результаты эластичного и эластичного поиска."elasttc": - также предоставлять результаты в качестве эластичного и эластичного поиска.

Эластичный поиск поддерживает подстановочный и нечеткий запрос вместе ??

Заранее спасибо ...

Ответы [ 2 ]

0 голосов
/ 16 сентября 2018
{
  "query": {
    "bool": {
      "should": [
        {
          "match": {
            "title": "testing"
          }
        },
        {
          "wildcard": {
            "title": "*testing*"
          }
        },
        {
          "fuzzy": {
            "title": "testing"
          }
        }
      ],
      "minimum_should_match": 1
    }
  }
}
0 голосов
/ 15 сентября 2018

Вы можете использовать его с Query String с подстановочными знаками. Суффикс ~AUTO* включает запрос префикса с нечетким, также вы можете использовать выбор полей как multi_match запрос:

{
    "query": {
        "query_string" : {
            "fields" : ["name^2", "content^1"],
            "query" : "elasttc~AUTO*"
        }
    }
}

Ключевое слово AUTO можно также заменить числовым значением на тот же параметр fuzziness.

...