我正在尝试在弹性搜索中加载。 我的索引如下 -
{"index":{"_index":"appname-ticketing","_type":"BLR"}}
我的映射如下 -
{
"appname-ticketing" : {
"mappings" : {
"BLR" : {
"AppName" : {
"type" : "string",
"index" : "not_analyzed"
}
},
"ABC" : {
"AppName" : {
"type" : "string",
"index" : "not_analyzed"
}
}
}
}
因此索引是appname-ticket,类型是BLR。
对于字段AppName
,我想启用预先加载。
这就是我在做什么 -
curl -XPUT localhost:9200/appname-ticketing/BLR/_mapping/AppName -d"
{
\"tags\": {
\"type\": \"string\", \"index\" : \"not_analyzed\",
\"fielddata\": {
\"loading\" : \"eager\"
}
}
}"
但是我收到以下错误 -
No handler found for uri [/appname-ticketing/BLR/_mapping/AppName] and method [PUT]
答案 0 :(得分:1)
我认为添加update_all_types参数会更新BLR和ABC以及所有其他类型的文本字段:
这是因为映射基本上被扁平化为整个索引的单个全局模式。这就是为什么两种类型无法定义冲突字段的原因。see this
当映射拼凑在一起时,Lucene不知道该怎么办,因此错误。
所以你需要做这样的事情:
curl -XPUT localhost:9200/appname-ticketing/_mapping/BLR/?update_all_type -d '{
"properties": {
"AppName": {
"type": "string",
"index" : "not_analyzed",
"fielddata": {
"loading" : "eager"
}
}
}
}'
如需进一步参考,您可以查看 this link
答案 1 :(得分:0)
你应该这样做:
completion:^(BOOL done){
laserView.frame = initial frame
}];