gpt4 book ai didi

elasticsearch - ElasticSearch NEST简单术语查询需要.keyword

转载 作者:行者123 更新时间:2023-12-03 01:22:22 24 4
gpt4 key购买 nike

我正在尝试使用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

最佳答案

您可以使用.Suffix()扩展方法来执行此操作。 Docs

var queryByTerm = client.Search<SomeDto>(s =>s.Query(q => q.Term(p => p.NameField.Suffix("keyword"), "example name")));

希望能有所帮助。

关于elasticsearch - ElasticSearch NEST简单术语查询需要.keyword,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59665946/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com