最近在使用es2.2.0中的Completion Suggester做联想功能,ok,测试的时候没啥问题,但是到生产灌了大量数据后有一个比较奇怪的问题。生产大概有10个suggest索引,每个索引联想词量差距比较大多的有1w,少的有200多。mapping类似如下:
"mapping": {
"song": {
"properties": {
"name": {
"type": "string"
},
"suggest": {
"type": "completion",
"preserve_separators": false,
"max_input_length": 100,
"analyzer": "standard",
"search_analyzer": "standard",
"payloads": true
}
}
}
}
在suggest中使用了payload,并且有些联想词的payload中字段比较多,可能有100多个,每个索引分了3片shard。
基本情况如上,问题上我用o去联想,它可以找到一个索引中的欧莱雅,欧乐B,oppo手机等等有o字母打头或者拼音是o打头的词,但是就是联想不出另一个索引中的ofo,非得我去查of的时候ofo才出现(ofo这个联想词唯一比较显著特点是payload中字段比较多)。(联想时都会包括所有索引),请问可能是什么原因?我把分片数改为1,是否会有效。
"mapping": {
"song": {
"properties": {
"name": {
"type": "string"
},
"suggest": {
"type": "completion",
"preserve_separators": false,
"max_input_length": 100,
"analyzer": "standard",
"search_analyzer": "standard",
"payloads": true
}
}
}
}
在suggest中使用了payload,并且有些联想词的payload中字段比较多,可能有100多个,每个索引分了3片shard。
基本情况如上,问题上我用o去联想,它可以找到一个索引中的欧莱雅,欧乐B,oppo手机等等有o字母打头或者拼音是o打头的词,但是就是联想不出另一个索引中的ofo,非得我去查of的时候ofo才出现(ofo这个联想词唯一比较显著特点是payload中字段比较多)。(联想时都会包括所有索引),请问可能是什么原因?我把分片数改为1,是否会有效。
1 个回复
medcl - 今晚打老虎。
赞同来自: