Недавно я начал использовать Elastic Search с его .net-клиентом NEST. Много вопросов, чтобы задать.
В настоящее время я заблокирован при попытке выделить результаты поиска в поле вложения с помощью плагина elasticsearch-mapper-attachments. Индексация работает хорошо, сопоставление кажется правильным, кодирование и декодирование тоже работают хорошо,
После того, как я попытался выполнить поиск по ключевому слову, ES, похоже, смог найти нужные документы, содержащие ключевое слово, но в результате выделения вместо отображения декодированного текста он ничего не показывает или закодированный.
Прочтите другой пост, посвященный некоторым тем же функциям, решение состоит в том, чтобы установить store = yes и TermVector = TermVectorOption.WithPositionsOffsets.
Поэтому я попытался настроить его в своем файле класса С# с помощью
[ElasticProperty(Name = "attach", Type = FieldType.Attachment, Store=true, TermVector = TermVectorOption.WithPositionsOffsets)]
public string attach { get; set; }
и запрос следующий (однако результат выделения не возвращается)
{
"fields" : ["name","attach"],
"query" : {
"query_string" : {
"query" : "settings"
}
},
"highlight" : {
"fields" : {
"attach" : {}
}
}
}
Кажется, при создании сопоставления для типа из класса атрибут вложения был установлен неправильно: поскольку при проверке с помощью localhost:9200/myindex/mytype/_mapping?pretty атрибут вложения не имеет Store=true, TermVector = TermVectorOption.WithPositionsOffsets для него .
У вас есть идея, пожалуйста? Спасибо