有没有办法做得更好?
这个想法是建议单词(输入时搜索),就像亚马逊搜索框建议一样。
我有一个可行的解决方案,但我认为还有更好的解决方案。
设置
PUT store
{
"settings": {
"max_shingle_diff" : 50,
"analysis": {
"analyzer": {
"suggestions": {
"type": "custom",
"tokenizer": "standard",
"filter": ["suggestions_shingle", "lowercase"]
}
},
"filter": {
"suggestions_shingle": {
"type": "shingle",
"min_shingle_size": 2,
"max_shingle_size": 50
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
分析仪
POST store/_analyze
{
"analyzer": "suggestions",
"text": "Telefon mobil Samsung S10"
}
Run Code Online (Sandbox Code Playgroud)
映射
POST store/_mappings
{
"properties": {
"name": {
"type": "text",
"fields": {
"suggestions": {
"type": "text",
"analyzer": "suggestions",
"fielddata": true
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
文件 …