ElasticSearch分词使用调研

1、定义ES索引结构

考虑点:
对于一些更新频率低的数据可以以文档形式存储在ES中,更新频繁或者删除频繁的数据不建议使用
对于索引的数量不能和建议业务表一样去建立索引的个数,需要了解ES的适用场景再使用
示例:
setting设置

{
   
  "fund_product_index" : {
   
    "settings" : {
   
      "index" : {
   
        "routing" : {
   
          "allocation" : {
   
            "include" : {
   
              "_tier_preference" : "data_content"
            }
          }
        },
        "number_of_shards" : "1",
        "provided_name" : "fund_product_index",
        "creation_date" : "1641280331929",
        "number_of_replicas" : "1",
        "uuid" : "99K8gnKzSCqkXoi6cyNYWQ",
        "version" : {
   
          "created" : "7100299"
        }
      }
    }
  }
}

根据业务场景建立ES 映射结构

{
   
  "fund_product_index" : {
   
    "mappings" : {
   
      "_meta" : {
   
        "created_by" : "ml-file-data-visualizer"
      },
      "properties" : {
   
        "firstSpellLetter" : {
   
          "type" : "text",
          "analyzer" : "pinyin"
        },
        "fullName" : {
   
          "type" : "text",
          "analyzer" : "ik_max_word",
          "search_analyzer" : "ik_smart"
        },
        "liteName" : {
   
          "type" : "text",
          "analyzer" : "ik_max_word",
          "search_analyzer" : "ik_smart"
        },
        "productCode" : {
   
          "type" : "text",
          "analyzer" : "ik_max_word",
          "search_analyzer" : "ik_smart"
        },
        "spell" : {
   
          "type" : "text",
          "analyzer" : "pinyin"
        }
      }
    }
  }
}

2、导入需要使用ES文档记录

可以使用Kibana自带的功能,将文档数据导入到ES,需要更新一下mapping关系,做一下reindex

3、分词使用调研

(1)使用空格分词

在这里插入图片描述
效果如下:
在这里插入图片描述

(2)默认分词

在这里插入图片描述
效果:
在这里插入图片描述

4、分词器调研

(1)中文分词器

我们选择了IK中文分词器,具体效果如下:
ik_max_word: 会将文本做最细粒度的拆分,比如会将“中华人民共和国国歌”拆分为“中华人民共和国,中华人民,中华,华人,人民共和国,人民,人,民,共和国,共和,和,国国,国歌”,会穷尽各种可能的组合,适合 Term Query;
ik_smart: 会做最粗粒度的拆分,比如会将“中华人民共和国国歌”拆分为“中华人民共和国,国歌”,适合 Phrase 查询
在这里插入图片描述
分词效果:

{
   
  "tokens" : [
    {
   
      "token" : "融通",
      "start_offset" : 0,
      "end_offset" : 2,
      "type" : "CN_WORD",
      "position" : 0
    },
    {
   
      "token" : "通通",
      "start_offset" : 1,
      "end_offset" : 3,
      "type" : "CN_WORD",
      "position" : 1
    },
    {
   
      "token" : "瑞",
      "start_offset" : 3,
      "end_offset" : 4,
      "type" : "CN_CHAR",
      "position" : 2
    },
    {
   
      "token" : "债券",
      "start_offset" : 4,
      "end_offset" : 6,
      "type" : "CN_WORD",
      "position" : 3
    },
    {
   
      "token" : "型",
      "start_offset" : 6,
      "end_offset" : 7,
      "type" : "CN_CHAR",
      "position" : 4
    },
    {
   
      "token" : "证券",
      "start_offset" : 7,
      "end_offset" : 9,
      "type" : "CN_WORD",
      "position" 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值