如何在elasticsearch中使用冒号搜索模式?

我在Elasticsearch中有一个带有value的字段"ft:05/08/2015

13:01:27.358,cgn:4189"。当我要使用查询字符串“ cgn:4189”进行搜索时,没有结果。我尝试像“

cgn:4189”那样逃脱冒号,但是我有语法错误。我不知道该怎么做。

{"query":{"bool":{"must":[{"query_string":{"default_field":"fluentd.message","query":"cgn:"}}],"must_not":[],"should":[]}},"from":0,"size":10,"sort":[],"facets":{}}

结果:

"error": "SearchPhaseExecutionException[Failed to execute phase [query], all shards failed; shardFailures

{"query":{"bool":{"must":[{"query_string":{"default_field":"fluentd.message","query":"cgn\:"}}],"must_not":[],"should":[]}},"from":0,"size":10,"sort":[],"facets":{}}

结果:

JSON.parse: bad escaped character at line 1 column 91 of the JSON data

你能帮我吗?

回答:

尝试以下查询,看看它是否适合您:

{

"query": {

"bool": {

"must": [

{

"query_string": {

"default_field": "fluentd.message",

"query": "cgn\\:4189"

}

}

],

"must_not": [],

"should": []

}

},

"from": 0,

"size": 10,

"sort": [],

"facets": {}

}

这是一些我用来测试的Sense代码:

http://sense.qbox.io/gist/1c90964da37d3dfec47d76288885db5793f38415

如果这对您不起作用,则可能与您的映射和/或分析设置有关。因此,如果您可以发布映射(包括任何自定义分析器),则对您的问题有所帮助。另外,正确格式化代码块会使它们更容易阅读。

以上是 如何在elasticsearch中使用冒号搜索模式? 的全部内容, 来源链接: utcz.com/qa/416386.html

回到顶部