【发布时间】:2015-07-14 16:53:43
【问题描述】:
我是 NEST ElasticSearch 的新手,并且有一个名为 document 的类,如下所示
[ElasticType(Name = "EnterpriseSearch.Document")]
public class Document
{
public Document()
{
}
[ElasticProperty(Type = FieldType.Integer, Index = FieldIndexOption.NotAnalyzed)]
public int DocumentId { get; set; }
[ElasticProperty(Type = FieldType.String, Index = FieldIndexOption.NotAnalyzed)]
public string Source { get; set; }
[ElasticProperty(Type = FieldType.String, Index = FieldIndexOption.NotAnalyzed)]
public string Name { get; set; }
[ElasticProperty(Type = FieldType.String, Index = FieldIndexOption.Analyzed, IndexAnalyzer = "snowballstopAnalyzers", TermVector = TermVectorOption.WithPositionsOffsets)]
public string Documents { get; set; }
}
我正在创建索引并尝试使用以下代码映射它。
public void CreateDocumentIndex(string indexName = null)
{
if (!this.client.IndexExists(indexName).Exists)
{
IndexSettings settings = GetIndexSettings();
this.client.CreateIndex(indexName, c => c
.InitializeUsing(settings)
.AddMapping<Document>
(m => m.Properties(ps => ps.String(a => a.Name(o => o.Documents)))));
this.client.Map<Document>(p => p.MapFromAttributes());
}
}
基本上我想将 IndexAnalyzer 应用于 Document 类中的属性 Documents。但它不起作用。在调试时,我注意到如果我使用下面的代码检查属性,映射计数为零
var r = this.client.GetIndexSettings(i => i.Index(indexName));
有什么帮助吗?
马尼什
【问题讨论】:
-
能否分享一下
GetIndexSettings方法以及如何定义snowballstopAnalyzers 分析器? -
你用的是什么版本的nest?
标签: elasticsearch nest