hadoop - Elasticsearch -使用查询UI搜索完全匹配的字符串

标签 hadoop elasticsearch elasticsearch-plugin elasticsearch-5

这是我的JSON。

{
    "id":100,
    "name":"xxx",       
    "hobbies":["cricket","footbal","singing & dancing"]

}

我需要从“其他”过滤“唱歌和跳舞”字符串。在下面的查询中执行。
http://localhost:9200/employeed/data/_search?q={"query":{"query_string":{"query" : "hobbies:Singing & dancing"}}}   

我在异常(exception)之下。
"type": "illegal_argument_exception",
  "reason": "request [employee/data/_search] contains unrecognized parameter: [ Singing\"}}}]"  

有什么帮助吗?

最佳答案

您正在尝试通过URI发送DSL查询。两者不要混用,请参见此处:https://www.elastic.co/guide/en/elasticsearch/reference/6.2/search-search.html

The search API allows you to execute a search query and get back search hits that match the query. The query can either be provided using a simple query string as a parameter, or using a request body.



您可以使用DSL并将其发送到请求正文中,也可以更改URL以仅包括要使用的兴趣爱好query_string。像这样:
http://localhost:9200/employeed/data/_search?q=hobbies%3A%5C%22Singing%20%26%20dancing%5C%22

query_string部分也是URL编码的。我还在您的搜索值周围添加了引号,否则将对它们进行“或”运算。未编码的版本:
hobbies:\"Singing & dancing\"

关于hadoop - Elasticsearch -使用查询UI搜索完全匹配的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48926849/

相关文章:

ruby - 使用elasticsearch过滤带有空格的标签

amazon-web-services - 在Elasticsearch中不使用任何主节点的最坏影响是什么?

php - 通过查询Elasticsearch-PHP Client 2.0+更新

java - 如果值不存在则更新的 ElasticSearch 脚本

scala - Cluster 模式下使用 Spark 写入文件到本地系统

hadoop - MapReduce 如何读取多个输入文件?

php - Elasticsearch排序,用另一个替换缺失的字段

java - Java Hadoop:是否只能读取一次文件内容?

hadoop - 在配置单元中,有没有办法指定在哪些列之间添加新列?

mysql - 使用elasticsearch River创建索引