问题描述
我使用的用于自动完成功能的edge_ngram标记生成器得到了奇怪的结果。我试图弄清楚如何使我的结果更相关。我从elasticsearch文档中复制了example。
我有以下说明的文件:
- “未加工的苹果,没有皮肤”
- “苹果,生的,金黄的,有皮的”
- “辣椒,苹果酱”
- “婴儿食品,水果,苹果酱,初中”
如果我搜索apple
,则“ APPLEBEE'S,chili”的得分要高于“无皮的苹果”
如果我搜索apples
,则“婴儿食品,水果,苹果酱,初中”的得分要高于“苹果,生的,金黄的,有皮的苹果”
在这两种情况下,我都希望对更相关/更短的匹配具有更高的分数(即,当我搜索apple
或apples
时,结果中包含单词{{ 1}}的得分应高于apples
或APPLEBEE'S
。
我的设置是:
applesauce
查询:
{
"settings": {
"analysis": {
"analyzer": {
"autocomplete": {
"tokenizer": "autocomplete","filter": [
"lowercase","asciifolding"
]
},"autocomplete_search": {
"tokenizer": "lowercase"
}
},"tokenizer": {
"autocomplete": {
"type": "edge_ngram","min_gram": 2,"max_gram": 20,"token_chars": [
"letter"
]
}
}
}
},"mappings": {
"properties": {
"description": {
"type": "text","analyzer": "autocomplete","search_analyzer": "autocomplete_search"
}
}
}
}
如何使相关性更高的得分更高?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)