Проблема запроса соответствия ElasticSearch - PullRequest
0 голосов
/ 02 сентября 2018

Добрый день:

У меня есть строковое поле. Я выполняю запрос на совпадение с:

{
  query : {
    match: {
       "grounds": "one"
    } 
  }
}

Когда я выполняю этот запрос, он работает, но, если я поставлю

{
      query : {
        match: {
           "grounds": "one vote"
        } 
      }
    }

Не возвращает никаких значений. Имейте в виду, что индекс для grounds равен one . Мое понимание того, как работает ElasticSearch, состоит в том, что он токенизирует каждое из слов во время запроса и соответствует обратному индексу. Если я ошибаюсь, пожалуйста, посоветуйте.

ОБНОВЛЕНО

Мое определение картографирования для земли:

"grounds": {
                "type": "text",
                "analyzer": "synonym_analyzer"
              },

Как я определяю свой обычай synonym_analyzer это:

 client.CreateIndex(index, c => c
               .Settings(s => s.Analysis(
                   a => a.Analyzers(an => an
                                .Custom("synonym_analyzer", ca => ca
                                    .Tokenizer("standard")
                                    .Filters("synonym","lowercase")
                                )
                            ).TokenFilters(t => t.Synonym("synonym", ss => synonyms))

Спасибо.

...