即使是不成熟的尝试,也胜于胎死腹中的策略。

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"才能匹配
已邀请:

要回复问题请先登录注册