Nip*_*ipo 3 .net elasticsearch nest
我正在尝试对文本属性执行术语过滤器,以遵循Elastic 5.x上的新标准来访问其内部关键字字段...
我有一个这样的财产:
{
"foo": {
"type" "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
我正在运行以下代码以使用内部关键字字段进行过滤...
var searchResult = _elasticClient.Search<InvoiceResult>(x => x
.Index("my_index")
.Query(query => query
.Term(term => term
.Field(new Field("foo.keyword"))
.Value("TEST")
)
)
);
Run Code Online (Sandbox Code Playgroud)
使用模型类有什么方法可以达到相同的结果?当我尝试下面的代码时,它永远不会使用关键字inner field。
var searchResult = _elasticClient.Search<InvoiceResult>(x => x
.Index("my_index")
.Query(query => query
.Term(term => term
.Field(field => field.Foo)
.Value("TEST")
)
)
);
Run Code Online (Sandbox Code Playgroud)
干杯!
在这种情况下,NEST 具有非常方便的扩展方法。
var searchResult = _elasticClient.Search<InvoiceResult>(x => x
.Index("my_index")
.Query(query => query
.Term(term => term
.Field(field => field.Foo.Suffix("keyword"))
.Value("TEST")
)
)
);
Run Code Online (Sandbox Code Playgroud)
希望能有所帮助。
| 归档时间: |
|
| 查看次数: |
1500 次 |
| 最近记录: |