[我正在尝试使用NEST 7.5.1(.NET Core 3.1)来检索一个具有特定名称(恰好是该名称)的文档:
var queryByTerm = client.Search<SomeDto>(s =>s.Query(q => q.Term(p => p.NameField, "example name")));
但是它不返回任何文档(调用成功。)>
正在发送的实际查询(如在客户端DebugInformation
上的.EnableDebugMode
和ConnectionSettings
中所示):
{"query":{"term":{"nameField":{"value":"example name"}}}}
但是仅当我在
.keyword
中添加nameField
时,它才有效(在Kibana中:)>{"query":{"term":{"nameField.keyword":{"value":"example name"}}}}
我是否必须强制NEST使用
nameField.keyword
而不是nameField
?
[我正在尝试使用NEST 7.5.1(.NET Core 3.1)检索一个具有特定名称(确切是该名称)的文档:var queryByTerm = client.Search
您可以使用.Suffix()
扩展方法执行此操作。 Docs。
var queryByTerm = client.Search<SomeDto>(s =>s.Query(q => q.Term(p => p.NameField.Suffix("keyword"), "example name")));
希望有所帮助。