Я использую C # с NEST для связи с Elasticsearch.Я пытаюсь найти документы с полем «содержимое» на основе текста, содержащего слова пользователя, например «уникальный тест».Соответствующие результаты могут содержать 1 или несколько из этих слов, и порядок не имеет значения (но чем ближе эти слова друг к другу, в поле «содержимое» документа, тем лучше).
Итак,например, поисковый запрос должен соответствовать этим 3 документам:
{"content": "luctus, unique arcu vel, facilisis test. Praesentalne"}
{"content": "Maecenas lacus velit, very unique eu commo, tincidunt ut"}
{"content": "tempor test. Proin ipsum dui, porttitor vitae commodo mas"}
Это мой запрос:
var searchResponse = await _client.SearchAsync<AuditModel>(s => s
.Query(q => q
.CommonTerms(c => c
.Field(p => p.Content)
.Analyzer("standard")
.Boost(1.1)
.CutoffFrequency(0.001)
.HighFrequencyOperator(Operator.And)
.LowFrequencyOperator(Operator.Or)
.MinimumShouldMatch(1)
.Name("content")
.Query(model.Content))));
Проблема в том, что этот поисковый запрос возвращает только:
{"content": "luctus, unique arcu vel, facilisis test. Praesentalne"}
Это единственный результат, в котором есть оба слова, поэтому мне нужно, чтобы это было более высоким приоритетом, чем у других 2, но я бы хотел включить все 3, если это возможно.
Возможно ли это с NEST?Спасибо