【发布时间】:2014-12-12 23:38:48
【问题描述】:
我们正在尝试让我们的弹性搜索索引返回一个找到同义词的结果集
var synonyms = new List<string> { "egg , embryo"};
var indexSettings = new IndexSettings();
// <snip>
indexSettings.Analysis.TokenFilters.Add("synonym",
new SynonymTokenFilter
{
Synonyms = synonyms,
Expand = false,
IgnoreCase = true,
});
我们通过 Elastic Search Head 查看索引元数据,检查了已创建的索引是否包含我们的同义词列表。 一个示例同义词条目如下所示; “鸡蛋,胚胎” 然而,当我们做一个简单的查询时,我们没有得到任何结果
return ElasticClient.Search(s => s
.Query(q => q
.QueryString(qs => qs
.Query("egg")
)
)
);
我们的实体看起来像这样(显示相关属性)
[ElasticType(Name = "Entry", IdProperty = "Id")]
public class Entry
{
public int Id { get; set; }
public string Title { get; set; }
}
我们有一个标题为“胚胎”的索引条目。我们尝试使用“=>”语法,并将 Expand 的各种排列设置为 true 和 false。
【问题讨论】:
标签: c# elasticsearch nest