我有一个名为“bank”的索引(从这个链接中添加),其示例数据如下:
{
"account_number" : 25,
"balance" : 40540,
"firstname" : "Virginia",
"lastname" : "Ayala",
"age" : 39,
"gender" : "F",
"address" : "171 Putnam Avenue",
"employer" : "Filodyne",
"email" : "virginiaayala@filodyne.com",
"city" : "Nicholson",
"state" : "PA"
}当我做请求体搜索时,它对一些键起作用,而对一些键则不起作用。
GET /bank/_search
{
"query" : {
"term" : {"age" : 39}
}
}上面的请求有效,而下面的请求不返回任何响应(0响应)
GET /bank/_search
{
"query" : {
"term" : {"firstname" : "Virginia"}
}
}以上的原因是什么?根据任何键获取结果应该做些什么?
发布于 2018-01-14 15:43:10
对于string字段,它将通过标准分析器传递字符串,该分析器会将字符串小写。例如,标准分析器将字符串“quick!”转换为、brown、fox。这就是您的查询不能工作的原因。
您可以使用以下方法解决此问题:
not analyzedmatch查询,它了解如何对字段进行分析。https://stackoverflow.com/questions/48247459
复制相似问题