【发布时间】:2021-01-07 02:00:20
【问题描述】:
我正在尝试在 ElasticSearch 中实现小写功能。根据这里的 API 文档
https://www.elastic.co/guide/en/elasticsearch/reference/current/lowercase-processor.html
你用这个代码sn-p
{
"lowercase": {
"field": "foo"
}
}
在查询中获取包含在必填字段中的小写值。
他们没有具体的例子,我在执行搜索查询时不断收到错误。
这是我尝试过的:
POST /users/_search
{
"size" : 10,
"_source" : {
"includes" : [
"userid",
"username"
]
},
"query" : {
"query_string" : {
"query" : "*John*",
"lowercase": { "default_field" : "username.keyword"}
}
},
"sort" : [
{
"_doc" : {
"order" : "desc"
}
}
]
}
在上述查询中,我尝试查找用户名“john”(将“John”转换为小写)。
错误信息如下:
{
"error" : {
"root_cause" : [
{
"type" : "parsing_exception",
"reason" : "[query_string] unknown token [START_OBJECT] after
[lowercase]",
"line" : 18,
"col" : 27
}
],
"type" : "parsing_exception",
"reason" : "[query_string] unknown token [START_OBJECT] after
[lowercase]",
"line" : 18,
"col" : 27
},
"status" : 400
}
如果我替换,相同的查询有效(尽管它没有给我所需的结果)
"lowercase": { "default_field" : "username.keyword"}
与
"default_field" : "username.keyword"
关于如何修复此查询的任何建议?谢谢!
【问题讨论】:
标签: elasticsearch