ElasticSearch学习笔记-同义词记录

本文介绍了ElasticSearch中实现同义词的三种方式,包括定义同义词过滤器、使用动态同义词插件以及通过JavaAPI进行关键词查询与同义词查询的关联。强调同义词应与原始文本的主字段配合使用,扩大匹配范围。
摘要由CSDN通过智能技术生成
同义词扩大了一个匹配文件的范围。正如 词干提取或者 部分匹配,同义词的字段不应该被单独使用,而应该与一个针对主字段的查询操作一起使用,这个主字段应该包含纯净格式的原始文本。
第一种实现方式:
同义词可以取代现有的语汇单元或 通过使用同义词语汇单元过滤器,添加到语汇单元流中。首先,我们定义了一个同义词类型的语汇单元过滤器。然后我们创建了一个使用同义词类型的语汇单元过滤器的自定义分析器。
PUT http://localhost:9200/temp_index
{
  "settings": {
    "analysis": {
      "filter": {
        "my_synonym_filter": {
          "type": "synonym", 
          "expand": true,
          "ignore_case": true
          "synonyms_path" : "analysis/synonym.txt"
          "synonyms": [ 
            "british,english",
            "queen,monarch"
            "usa, america, united states => usa"
          ]
        }
      },
      "analyzer": {
        "my_synonyms": {
          "tokenizer": "ik_max_word",
          "filter": [
            "lowercase",
            "my_synonym_filter" 
          ]
        }
      }
    }
  }
}
同义词一般格式:
简单扩展:我们可以把同义词列表中的任意一个词扩展成同义词列表所有的词。
举例 "jump,hop,leap"
简单收缩:把左边的多个同义词映射到了右边的单个词。它必须同时应用于索引和查询阶段,以确保查询词项映射到索引中存在的同一个值。
举例 "leap,hop => jump"
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值