我想将B字段存储在Elasticsearch中,但不要索引。当我搜索"Nash"
时,我不想在B字段中搜索。因此B字段未在弹性索引中。
[ElasticsearchType(Name = "ES6")]
public class ES6
{
public string A { get; set; }
public string B { get; set; }
}
elasticClient.IndexDocument(new ES6 { A = "John", B = "Nash" });
elasticClient.IndexDocument(new ES6 { A = "Nash", B = "John" });
答案 0 :(得分:0)
如果您希望不对字段建立索引,则可以使用NEST Attributes
来显示不应对该字段进行索引。
https://www.elastic.co/guide/en/elasticsearch/client/net-api/current/attribute-mapping.html
在您的示例中,可能是这样的:
[ElasticsearchType(Name = "ES6")]
public class ES6
{
[Text]
public string A { get; set; }
[Keyword(Index = false)]
public string B { get; set; }
}
将其设置为keyword
将确保不对其进行分析,而将Index = false
设置为告诉Elastic不要为其编制索引。