2014-02-14 4 views
7

Я хотел бы использовать Nest для заполнения поля запроса завершения в индекс. После прочтения этой ElasticSearch blog post about implementing a completion field я вижу, что вы можете иметь следующие свойства:Использование клиента Nest для заполнения полей заполнения в Elasticsearch

  • массив входов
  • один выход
  • вес
  • полезная нагрузка

Я предполагаю, что загрузить эти данные в индекс, который должен включать объект на мой объект поиска, который содержит указанные выше поля?

ответ

8

я смог, наконец, загрузить поле завершения, создав несколько классов, и после теста 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-запрос и запрос по этим данным. Надеюсь, это поможет кому-то другому.

+4

Такая же проблема, как и вы. Как вы проиндексировали объекты? Можете ли вы разместить свой индексный запрос и поисковый запрос? Спасибо –

+0

ваш образец выглядит очень неуместным. Я не могу найти какую-либо связь. когда вы индексируете Completion, вы не определяете его тип как CompletionField. Зачем вы используете finalField? Я думаю, вы хотели, или вы должны были сделать что-то вроде этого https://github.com/elastic/elasticsearch-net-example#part-5-suggestions – batmaci

Смежные вопросы