Я пытаюсь придумать синтаксис для запросов, которые выглядят как фразы:
hello world new
, но также поиск близости и перестановки, такие как:
hello .... world
world hello new
new hello world
Я бы тоже хотел бы разрешить орфографические ошибки вроде этого:
hello vorld ne
Может быть, это слишком много, чтобы просить? Я начинаю с этого:
scr => scr.Index(indexName)
.From(0)
.Size(1000)
.Query(q => q
.Match(c => c
.Field(p => p.Attachment.Content)
.Query("hello world")
.Fuzziness(Fuzziness.AutoLength(1, 3))
.Lenient()
.FuzzyTranspositions()
//.MinimumShouldMatch(2)
.Operator(Operator.And)
.FuzzyRewrite(MultiTermQueryRewrite.TopTermsBlendedFreqs(10))
)
)
Это уже слишком чувствительно, так как возвращает документы, содержащие только «мир», что я не совсем понимаю, почему. Любые указатели рег. выше было бы очень цениться. Спасибо!