Найти слова с ошибками с дефисом, используя совпадения запросов NEST Elasticsearchs - PullRequest
0 голосов
/ 14 апреля 2019

Elasticsearch отлично работает с клиентом NEST.Но я хотел бы иметь толерантный поиск, который также находит ошибочные и альтернативные стили письма.Это работает как-то.Допустим, у меня есть документ со следующим заголовком: Windows 10 Update Causing System Slowdowns

Он был найден с опечатками типа windoows или даже windoowws.Но slow-downs не совпадает с slowdowns.Я не уверен, вызвано ли это операторами поиска, поэтому slow-downs интерпретируется как поиск slow без downs или почему это не работает.

Мой поиск выполняется следующим образом:

var resp = client.Search<ArticleModel>(a => a
                  .From(0)
                  .Size(count)
                  .Query(q =>
                    q.Match(c => c
                        .Field(f => f.Title)
                        .Analyzer("standard")
                        .Fuzziness(Fuzziness.Auto)
                        .MinimumShouldMatch(1)
                        .FuzzyRewrite(MultiTermQueryRewrite.TopTermsBlendedFreqs(10))
                        .Query(query)
                    )
                  )
            );

, где query - поисковый термин, подобный slow-downs.

class ArticleModel {
        [Text]
        public string Title { get; set; }
}

Используется последняя версия NEST на момент написания 6.6.0.Elasticsearch запускается в докере с тегом 6.7.1.Согласно документам , клиент 6.x также должен быть совместим с версиями сервера 6.x.

...