我正在索引的类看起来像这样:
Class ResData
{
public string FullName {get;set;}
}
我想以类似于string.contains
的方式搜索FullName字段,而不是使用令牌比较。我知道可以通过用[ElasticProperty(Index = FieldIndexOption.not_analyzed)]
标记字段来完成,但这似乎不起作用。当我使用client.Analyze
对其进行测试时,我会收到一个令牌列表,但搜索domo kun
与domo kuny
不匹配,但匹配kun domo
。
任何帮助?
答案 0 :(得分:1)
通过标记字段not_analyzed elasticsearch将字段值按原样。这通常适用于您要排序或进行分面但不适用于全文搜索的字段。
我会离开标准分析器,然后尝试match_phrase_prefix
查询:
http://www.elasticsearch.org/guide/reference/query-dsl/match-query/