三人行必有我师

Completion Suggester使用过程中遇到的问题

Elasticsearch | 作者 w455091555 | 发布于2016年12月15日 | 阅读数:6314

最近在使用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,是否会有效。
已邀请:

medcl - 今晚打老虎。

赞同来自:

你是10个suggest索引,使用的时候通过prefix*来获取suggest是么?

要回复问题请先登录注册