如何使较短较近的令牌匹配更相关? edge_ngram

问题描述

我使用的用于自动完成功能的edge_ngram标记生成器得到了奇怪的结果。我试图弄清楚如何使我的结果更相关。我从elasticsearch文档中复制了example

我有以下说明的文件:

  • “未加工的苹果,没有皮肤”
  • “苹果,生的,金黄的,有皮的”
  • “辣椒,苹果酱”
  • “婴儿食品,水果,苹果酱,初中”

如果我搜索apple,则“ APPLEBEE'S,chili”的得分要高于“无皮的苹果”

如果我搜索apples,则“婴儿食品,水果,苹果酱,初中”的得分要高于“苹果,生的,金黄的,有皮的苹果”

在这两种情况下,我都希望对更相关/更短的匹配具有更高的分数(即,当我搜索appleapples时,结果中包含单词{{ 1}}的得分应高于applesAPPLEBEE'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 (将#修改为@)