我遇到了编写Elasticsearch查询的问题 我的查询如下
{
"query": {
"query_string": {
"default_field": "content",
"query": "@lin1"
}
},
"from": 0,
"size": 1000,
"sort": [
{
"time": "desc"
}
]
}
我正在使用query_string
http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/query-dsl-query-string-query.html
但是@
字符无法匹配
它会产生这样的结果:lin1
或「lin1」
那么我该如何编写Elasticsearch
查询以匹配@lin1
?
答案 0 :(得分:1)
这一切都取决于您使用的分析仪。如你所知,你使用的标准分析仪丢弃了' @'索引的符号。在这种情况下,您永远无法搜索' @'符号。但如果情况并非如此,那么你确实有' @'建立索引后,您可以将查询的query_string
部分修改为以下内容:
"query_string": {
"default_field": "content",
"query": "@lin1",
"analyzer": "whitespace"
}