我刚刚下载了1.5.2版,并创建了一个简单的索引:
curl 127.0.0.1:9200/relman/users/ -d '{ "name": "ooppoopp" }'
但是当我搜索oo
时,我得到了空的结果:
curl 127.0.0.1:9200/relman/users/_search?q=oo
{"took":2,"timed_out":false,"_shards":{"total":5,"successful":5,"failed":0},
"hits":{"total":0,"max_score":null,"hits":[]}}
有什么想法吗?它应该使用默认配置
P.S从映射看,分析仪处于活动状态,
{
"relman" : {
"mappings" : {
"users" : {
"properties" : {
"name" : {
"type" : "string"
}
}
}
}
}
}
答案 0 :(得分:0)
根据 partial matching 文档,您将查询更改为
curl -XGET http://localhost:9200/relman/users/_search?q=oo* //first
此检查查询以oo
开头curl -XGET http://localhost:9200/relman/users/_search?q=*oo* // second
此检查查询包含oo
例如,如果插入此
curl -XPOST http://localhost:9200/relman/users/ -d '{ "name": "ppoopp" }'
第一个查询仅返回ooppoopp
,第二个查询分别返回ooppoopp, ppoopp
。
使用 wildcard 作为
的另一种方法curl -XGET http://localhost:9200/relman/users/_search -d '
{
"query": {
"wildcard": {
"name": {
"value": "oo*" // "*oo*"
}
}
}
}'