上云无忧 > 文档中心 > 百度智能云Elasticsearch - analysis-pinyin拼音分词插件
Elasticsearch
百度智能云Elasticsearch - analysis-pinyin拼音分词插件

文档简介:
analysis-pinyin拼音分词插件是百度智能云Elasticsearch默认安装的分词插件。 使用方法: 创建索引并使用自定义拼音分析器:
*此产品及展示信息均由百度智能云官方提供。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠

analysis-pinyin拼音分词插件是百度智能云Elasticsearch默认安装的分词插件。

使用方法

创建索引并使用自定义拼音分析器

PUT /test_index/ 
{
    "settings" : {
        "analysis" : {
            "analyzer" : {
                "pinyin_analyzer" : {
                    "tokenizer" : "my_pinyin"
                    }
            },
            "tokenizer" : {
                "my_pinyin" : {
                    "type" : "pinyin",
                    "keep_separate_first_letter" : false,
                    "keep_full_pinyin" : true,
                    "keep_original" : true,
                    "limit_first_letter_length" : 16,
                    "lowercase" : true,
                    "remove_duplicated_term" : true
                }
            }
        }
    }
}

其中参数含义如下:

参数 含义 默认值 备注
keep_first_letter 保留拼音首字母分词,例如:刘德华->ldh。 true
keep_separate_first_letter 拆分保留拼音首字母,例如:刘德华->l,d,h。 false 分词过细可能导致查询结果比较模糊
limit_first_letter_length 限制首字母最大长度 16
keep_full_pinyin 拆分保留全拼,例如:刘德华-> [liu,de,hua] true
keep_joined_full_pinyin 合并保留全拼,例如:刘德华-> liudehua false
keep_none_chinese 保留非中文字符 true
keep_none_chinese_together 保留非中文字符,并将非中文字符放在一起。例如:当设置为true,则DJ音乐家 -> DJ,yin,yue,jia;当设置为false,DJ音乐家 -> D,J,yin,yue,jia true 需要先设置keep_none_chinese为true
keep_none_chinese_in_first_letter 将非中文字符放在首字母分词中,例如:刘德华AT2016->ldhat2016 true
keep_none_chinese_in_joined_full_pinyin 将非中文字符放在全拼分词中,例如:刘德华AT2016->liudehua2016 false
none_chinese_pinyin_tokenize 如果非中文字母是拼音的话,把它们分成单独的拼音。例如:liudehuaalibaba13zhuanghan -> liu,de,hua,a,li,ba,ba,13,zhuang,han true 需要先设置keep_none_chinese和keep_none_chinese_together为true
keep_original 在分词的同时,保留原始输入内容 false
lowercase 将非中文字符转化成小写字母 true
trim_whitespace 去除空格 true
remove_duplicated_term 删除重复的term,例如:de的>de false

测试拼音分词效果

GET /test_index/_analyze
{
  "text": ["刘德华"],
  "analyzer": "pinyin_analyzer"
}
{
  "tokens" : [
    {
      "token" : "liu",
      "start_offset" : 0,
      "end_offset" : 1,
      "type" : "word",
      "position" : 0
    },
    {
      "token" : "de",
      "start_offset" : 1,
      "end_offset" : 2,
      "type" : "word",
      "position" : 1
    },
    {
      "token" : "hua",
      "start_offset" : 2,
      "end_offset" : 3,
      "type" : "word",
      "position" : 2
    },
    {
      "token" : "刘德华",
      "start_offset" : 0,
      "end_offset" : 3,
      "type" : "word",
      "position" : 3
    },
    {
      "token" : "ldh",
      "start_offset" : 0,
      "end_offset" : 3,
      "type" : "word",
      "position" : 4
    }
  ]
}

创建索引mapping

POST /test_index/_mapping 
{
        "properties": {
            "name": {
                "type": "keyword",
                "fields": {
                    "pinyin": {
                        "type": "text",
                        "store": false,
                        "term_vector": "with_offsets",
                        "analyzer": "pinyin_analyzer",
                        "boost": 10
                    }
                }
            }
        }
    
}

写入数据

POST /test_index/_doc
{"name":"刘德华"}

查询测试

POST test_index/_search?q=name.pinyin:刘德华
POST test_index/_search?q=name.pinyin:刘德
POST test_index/_search?q=name.pinyin:liu
POST test_index/_search?q=name.pinyin:ldh
POST test_index/_search?q=name.pinyin:de+hua
相似文档
  • 简介: Elasticsearch的ingest attachment插件可以将常用格式的文件作为附件写入Index。ingest attachment插件通过使用Apache Tika来提取文件,支持的文件格式有TXT、DOC、PPT、XLS和PDF等。 注意:源字段必须是base64编码的二进制。
  • 背景: 词干提取是通过简化他们的词根形式来扩大搜索的范围,同义词通过相关的观念和概念来扩大搜索范围。 也许没有文档匹配查询 “英国女王“ ,但是包含 “英国君主” 的文档可能会被认为是很好的匹配。用户搜索 “美国” 并且期望找到包含 美利坚合众国 、 美国 、 美洲 、或者 USA 的文档。
  • 插件介绍: 简繁体转换插件可以帮助用户完成简体中文与繁体中文的转换。用户可以通过该插件的转换功能,使用中文繁体关键字搜索出包含对应中文简体的索引数据,同样也可以使用中文简体关键字搜索出包含对应中文繁体的索引数据。
  • 当用户需要使用自研插件或百度智能云Elasticsearch默认插件中不包含的开源插件时,可通过百度智能云Elasticsearch的自定义插件上传与安装功能,安装并使用插件。本文介绍具体的操作方法。
  • 百度智能云Elasticsearch 提供监控指标、报警和实例组功能。 监控指标:为运行中的集群提供多项监控指标,用户可根据监控指标,实时了解集群的运行状况,及时处理潜在风险,保障集群稳定运行。
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部