я смог, наконец, загрузить поле завершения, создав несколько классов, и после теста FluentMappingFullExample блока, в частности, следующая часть:
.Completion(s=>s
.Name(p=>p.Name.Suffix("completion"))
.IndexAnalyzer("standard")
.SearchAnalyzer("standard")
.MaxInputLength(20)
.Payloads()
.PreservePositionIncrements()
.PreserveSeparators()
)
Для моего поиска типа объекта, я создал поле называется предложить и сделал его типа CompletionField.
public class CompletionField
{
public CompletionField()
{
Input = new List<string>();
}
public List<string> Input { get; set; }
//public string Output { get; set; }
public int Weight { get; set; }
public Payload Payload { get; set; }
}
public class Payload
{
public int ID { get; set; }
}
После того как я загрузил свою сущность из БД с помощью щеголеватый, я тогда накинут результаты и загружены мое поле завершения с соответствующими входами, которые я хотел. Затем я смог успешно вызвать API-запрос и запрос по этим данным. Надеюсь, это поможет кому-то другому.
Такая же проблема, как и вы. Как вы проиндексировали объекты? Можете ли вы разместить свой индексный запрос и поисковый запрос? Спасибо –
ваш образец выглядит очень неуместным. Я не могу найти какую-либо связь. когда вы индексируете Completion, вы не определяете его тип как CompletionField. Зачем вы используете finalField? Я думаю, вы хотели, или вы должны были сделать что-то вроде этого https://github.com/elastic/elasticsearch-net-example#part-5-suggestions – batmaci