【发布时间】:2019-11-04 22:44:57
【问题描述】:
我的索引中有大约一百个测试文档,使用 NBuilder 构建:
[
{
"title" : "Title1",
"text" : "Text1"
},
{
"title" : "Title2",
"text" : "Text2"
},
{
"title" : "Title3",
"text" : "Text3"
}
]
我想用通配符查询它们以查找所有以“文本”开头的项目。但是当我在 Nest 中使用两种通配符方法时,我得到了两种不同的结果。
var response = await client.SearchAsync<FakeFile>(s => s.Query(q => q
.QueryString(d => d.Query("text:Text*")))
.From((page - 1) * pageSize)
.Size(pageSize));
这将返回 100 个结果。但我正在尝试使用流畅的 API 而不是查询字符串。
var response = await client.SearchAsync<FakeFile>(s => s
.Query(q => q
.Wildcard(c => c
.Field(f => f.Text)
.Value("Text*"))));
这将返回 0 个结果。我是 Elasticsearch 的新手。我试图让这个例子尽可能简单,以确保我能逐个理解它。我不知道为什么第二个查询没有返回任何内容。请帮忙。
【问题讨论】:
标签: c# elasticsearch nest