我使用的是elasticsearch版本1.2.1:
我遵循elasticsearch文档中给出的示例,但它会引发错误。
我可能会错过一些东西。
当我运行查询时,我得到的错误是:
{
"_shards": {
"total": 5,
"successful": 4,
"failed": 1,
"failures": [
{
"index": "services",
"shard": 2,
"reason": "BroadcastShardOperationFailedException[[services][2] ]; nested: ElasticsearchException[failed to execute suggest]; nested: NullPointerException; "
}
]
}
}
这里有完整的例子:
PUT /services
PUT /services/service/_mapping
{
"service": {
"properties": {
"name": {
"type" : "string"
},
"tag": {
"type" : "string"
},
"suggest_field": {
"type": "completion",
"context": {
"color": {
"type": "category",
"path": "color_field",
"default": ["red", "green", "blue"]
},
"location": {
"type": "geo",
"precision": "5m",
"neighbors": true,
"default": "u33"
}
}
}
}
}
}
PUT services/service/1
{
"name": "knapsack",
"suggest_field": {
"input": ["knacksack", "backpack", "daypack"],
"context": {
"color": ["red", "yellow"]
}
}
}
POST services/_suggest?pretty'
{
"suggest" : {
"text" : "m",
"completion" : {
"field" : "suggest_field",
"size": 10,
"context": {
"color": "red"
}
}
}
}