不为失败找理由,要为成功找方法。

大佬救命:元音问题,拼音遇到xi an,ji nan,分词不对的问题

Elasticsearch | 作者 zhangsan66 | 发布于2021年11月04日 | 阅读数:1354

我搜索jinan,结果是:金岸海鲜饺子,我想找的是:济南
我搜索yayylskzgc,搜索不到:窑啊窑窑炉烧烤(中关村)
但是,我搜索ayylskzgc,可以搜索到:窑啊窑窑炉烧烤(中关村)
窑啊窑窑炉烧烤(中关村)使用/medcl/_analyze,token是有yayylskzgc存在的。
已邀请:

zhangsan66 - 88年雄性

赞同来自:

DELETE /medcl3

PUT /medcl3/
{
"settings" : {
"analysis" : {
"analyzer" : {
"pinyin_analyzer" : {
"tokenizer" : "my_pinyin"
}
},
"tokenizer" : {
"my_pinyin" : {
"type" : "pinyin",
"keep_first_letter":true,
"keep_separate_first_letter" : true,
"keep_full_pinyin" : true,
"keep_joined_full_pinyin" : true,
"keep_original" : true,
"limit_first_letter_length" : 16,
"lowercase" : true
}
}
}
}
}

POST /medcl3/_mapping
{
"properties": {
"name": {
"type": "keyword",
"fields": {
"pinyin": {
"type": "text",
"store": false,
"term_vector": "with_offsets",
"analyzer": "pinyin_analyzer",
"boost": 10
}
}
}
}
}


GET /medcl3/_analyze
{
"text": ["济南"],
"analyzer": "pinyin_analyzer"
}

PUT /medcl3/_doc/1
{"name":"济南"}

GET /medcl3/_doc/1

GET /medcl3/_search
{
"query": {"match_phrase": {
"name.pinyin": "jinan"
}}
}

要回复问题请先登录注册