Completion Suggester 拼音搜索提示的问题
匿名 | 发布于2017年07月19日 | 阅读数:3799
PUT /key_index
{
"settings" : {
"analysis" : {
"analyzer" : {
"pinyin_analyzer" : {
"tokenizer" : "my_pinyin"
}
},
"tokenizer" : {
"my_pinyin" : {
"type" : "pinyin",
"keep_joined_full_pinyin" : true
}
}
}
},
"mappings": {
"key_type":{
"properties": {
"id":{
"type": "integer"
},
"suggest_pinyin":{
"type": "completion",
"analyzer": "pinyin_analyzer"
}
}
}
}
}
我创建了一个索引,有一个字段suggest_pinyin 设置为拼音分词,设置type为completion,插入了一条数据
id:1 suggest_pinyin:大数据 经过拼音分词索引后存储为 "da","shu","ju","dashuju",但是我通过es自带的suggest前缀搜索 ,搜索不出来结果,不知道是为什么
GET /key_index/key_type/_search
{
"suggest": {
"my-suggest" : {
"prefix":"dashu",
"completion" : {
"field" : "suggest_pinyin"
}
}
}
}
我想实现的效果是拼音的前缀匹配,就是输入 dashu 能匹配出大数据 这个单词,但是先只有输入"da"或者"dashuju"才能匹配
{
"settings" : {
"analysis" : {
"analyzer" : {
"pinyin_analyzer" : {
"tokenizer" : "my_pinyin"
}
},
"tokenizer" : {
"my_pinyin" : {
"type" : "pinyin",
"keep_joined_full_pinyin" : true
}
}
}
},
"mappings": {
"key_type":{
"properties": {
"id":{
"type": "integer"
},
"suggest_pinyin":{
"type": "completion",
"analyzer": "pinyin_analyzer"
}
}
}
}
}
我创建了一个索引,有一个字段suggest_pinyin 设置为拼音分词,设置type为completion,插入了一条数据
id:1 suggest_pinyin:大数据 经过拼音分词索引后存储为 "da","shu","ju","dashuju",但是我通过es自带的suggest前缀搜索 ,搜索不出来结果,不知道是为什么
GET /key_index/key_type/_search
{
"suggest": {
"my-suggest" : {
"prefix":"dashu",
"completion" : {
"field" : "suggest_pinyin"
}
}
}
}
我想实现的效果是拼音的前缀匹配,就是输入 dashu 能匹配出大数据 这个单词,但是先只有输入"da"或者"dashuju"才能匹配
0 个回复