2016-06-08 3 views
0

Я хочу добавить английский анализатор в тип анализатора ElasticSearch.
Что-то вроде:Добавление анализатора английского языка к типу в упругом поиске

[ElasticsearchType(Name = "blogpost", IdProperty = "Id")] 
public class BlogPost 
{ 
    [String] 
    public Guid Id { get; set; } 

    [String] 
    public string Title { get; set; } 

    [String(Analyzer = LanguageAnalyzers.English, TermVector = TermVectorOption.WithOffsets)] 
    public string Body { get; set; } 
} 

Я использую C# NEST 2.x API
Ошибочная часть здесь: 'LanguageAnalyzers.English', который я сделал.

Любые предложения о том, как это сделать правильно?

+0

Какие ошибки вы получаете? Как вы создаете индекс? – Rob

+0

Я просто получаю 'LanguageAnalyzers' не существует в этом контексте. также попытался: [String (Analyzer = «english», TermVector = TermVectorOption.WithOffsets)] – belostoky

+0

Как вы создаете индекс? – Rob

ответ

1

Английский язык анализатор может упоминаться с "english" analyzer

[ElasticsearchType(Name = "blogpost", IdProperty = "Id")] 
public class BlogPost 
{ 
    [String] 
    public Guid Id { get; set; } 

    [String] 
    public string Title { get; set; } 

    [String(Analyzer = "english", TermVector = TermVectorOption.WithOffsets)] 
    public string Body { get; set; } 
} 

client.CreateIndex("blogposts", c => c 
    .Mappings(m => m 
     .Map<BlogPost>(mm => mm 
      .AutoMap() 
     ) 
    ) 
); 

дает

{ 
    "mappings": { 
    "blogpost": { 
     "properties": { 
     "id": { 
      "type": "string" 
     }, 
     "title": { 
      "type": "string" 
     }, 
     "body": { 
      "type": "string", 
      "term_vector": "with_offsets", 
      "analyzer": "english" 
     } 
     } 
    } 
    } 
} 
+0

Спасибо! его работа – belostoky

+0

@belostoky Не стоит беспокоиться, рада помочь :) Если он ответит на ваш вопрос, пожалуйста, не стесняйтесь отмечать ответ как принятый –