Попробуйте проанализировать свои поля с забойным анализатором как snowball
который будет пытаться его лучше уменьшить слова к их корневой форме. Например, books
и booking
=>book
, jumps
и jumping
=>jump
. и т. д. Алгоритм, стоящий за ним, не идеален и будет срабатывать по неправильным словам/множественным формам, но по большей части он работает очень хорошо (на большинстве европейских языков).
Вы можете применять различные анализаторы при первоначальном создании индекса или существующего индекса с использованием API сопоставления обновлений. В любом случае вам придется переиндексировать наши документы, чтобы применить новый анализ.
Создать пример индекса с помощью НЕСТ:
client.CreateIndex("yourindex", c => c
...
.AddMapping<YourType>(m => m
.MapFromAttributes()
.Properties(ps => ps
.String(s => s.Name("fieldname").Analyzer("snowball"))
...
)
)
);
Update пример отображения:
client.Map<YourType>(m => m
.MapFromAttributes()
.Index("yourindex")
.Properties(ps => ps
.String(s => s.Name("fieldname").Analyzer("snowball"))
...
)
);
Вот некоторые действительно большой информации о algorithmic stemmers in The Definitive Guide.
Спасибо так много для вас Ответные @GregMarzouka, я постараюсь его и посмотреть, что я могу. Если у вас есть более подробные ресурсы по использованию NEST, я буду благодарен за их совместное использование, потому что я вижу, что документации, представленной на их веб-сайте, недостаточно. – WLegend