2015-05-22 88 views
0

我剛剛下載的版本1.5.2工作,並創建了一個簡單的索引:部分單詞匹配不elasticsearch

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":[]}} 

任何想法?應該使用缺省配置

PS從它看起來像儀是活躍的映射工作,

{ 
    "relman" : { 
     "mappings" : { 
     "users" : { 
      "properties" : { 
       "name" : { 
        "type" : "string" 
       } 
      } 
     } 
     } 
    } 
} 

回答

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 

此檢查查詢,如果插入此

curl -XPOST http://localhost:9200/relman/users/ -d '{ "name": "ppoopp" }' 

第一查詢返回僅ooppoopp和第二查詢分別返回二者ooppoopp, ppoopp其中包含OO

例如。

的另一種方法使用wildcard作爲

curl -XGET http://localhost:9200/relman/users/_search -d ' 
{ 
    "query": { 
     "wildcard": { 
      "name": { 
       "value": "oo*" // "*oo*" 
      } 
     } 
    } 
}'