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

不规则的产品编号该如何进行分词呢

Elasticsearch | 作者 ezio_o | 发布于2019年10月16日 | 阅读数:2372

有商品编号id是一些字母加数字加符号组成的字符串,该如何进行分词?
 
例如id 是 STM8_S003F3P6  输入  STM8_S003F3P6,STM8,S003F3P6,S003,F3P6  都能搜索出来结果来
 
写了个ngram 让它类似去穷举的索引分词,然后搜索分词就简单一些, 这样子的做法是可行,或者还有更好的办法吗?
 
 "tokenizer": {
"ngram_tokenizer": {
"type": "ngram",
"min_gram": 3,
"max_gram": 10,
"token_chars": [
"letter",
"digit"
]
}
}

"analyzer": {
"index_analyzer": {
"tokenizer": "ngram_tokenizer",
"filter": [
"lowercase"
]
},
"search_analyzer": {
"type": "custom",
"tokenizer": "standard",
"filter": [
"lowercase"
]
}
}
}

 
 
已邀请:

medcl - 今晚打老虎。

赞同来自: ezio_o

可行,前缀查询多的话,可以再配一个 edge_ngram

要回复问题请先登录注册