【发布时间】:2015-12-03 21:13:34
【问题描述】:
我相信我在搜索属性/字段名称中包含空格的字符串时遇到问题。
我使用 curl 命令成功批量加载了一些人员/人员记录:
curl -XPOST localhost:9200/enterprise/person/_bulk --data-binary @./JSON_DATA/people1.json
数据如下:
{"index":{}}
{"Last Name": "Doe", "First Name": "Jane", "my_ID": "Person:=Jane Doe", "Age": "21"}
{"index":{}}
{"Last Name": "Smith", "First Name": "Joe", "my_ID": "Person:=Joe Smith", "Age": "23"}
{"index":{}}
{"Last Name": "Smiley", "First Name": "Bob", "my_ID": "Person:=Bob Smiley", "Age": "52"}
{"index":{}}
{"Last Name": "Doe", "First Name": "John", "my_ID": "Person:=John Doe", "Age": "32"}
我可以成功搜索到所有文档记录,并看到它们在索引中。
然后,我尝试使用以下 curl 命令专门搜索属性“名字”中具有字符串“jane”的任何人:
curl -XGET 'http://localhost:9200/enterprise/person/_search?q="First Name":jane'
声明失败:
curl: (52) Empty reply from server
我认为问题与我的查询语法以及我如何表示字符串“名字”中的空格有关。但是,我不知道如何正确修复它。
我还尝试使用%20 来表示空间,使用以下命令进行搜索:
curl -XGET 'http://localhost:9200/enterprise/person/_search?q=first%20name:jane'
在这种情况下,我得到了一个不同的结果,但它似乎仍然没有找到她,因为她出现在搜索所有结果中:
{"took":4,"timed_out":false,"_shards":{"total":5,"successful":5,"failed":0},"hits":{"total":0,"max_score":null,"hits":[]}}
非常感谢任何帮助。 -- 谢谢。
【问题讨论】:
标签: search curl elasticsearch