当前位置: 首页 > news >正文

Elasticsearch分词器--空格分词器(whitespace analyzer)

介绍

  文本分析,是将全文本转换为一系列单词的过程,也叫分词。analysis是通过analyzer(分词器)来实现的,可以使用Elasticearch内置的分词器,也可以自己去定制一些分词器。除了在数据写入时将词条进行转换,那么在查询的时候也需要使用相同的分析器对语句进行分析。

分词器名称处理过程
Standard Analyzer默认的分词器,按词切分,小写处理
Simple Analyzer按照非字母切分(符号被过滤),小写处理
Stop Analyzer小写处理,停用词过滤(the, a, this)
Whitespace Analyzer按照空格切分,不转小写
Keyword Analyzer不分词,直接将输入当做输出
Pattern Analyzer正则表达式,默认是\W+(非字符串分隔)

实战

1、空格分词器展示

POST:http://localhost:9200/_analyze/

{"analyzer": "whitespace","text": "hello this my white space analyzer"
}

结果:按照空格进行分词处理

{"tokens":[{"token":"hello","start_offset":0,"end_offset":5,"type":"word","position":0},{"token":"this","start_offset":6,"end_offset":10,"type":"word","position":1},{"token":"my","start_offset":11,"end_offset":13,"type":"word","position":2},{"token":"white","start_offset":14,"end_offset":19,"type":"word","position":3},{"token":"space","start_offset":20,"end_offset":25,"type":"word","position":4},{"token":"analyzer","start_offset":26,"end_offset":34,"type":"word","position":5}]
}

2、空格分词器创建与查询

目前我们有一些应用场景需要根据空格分词之后的内容进行精准查询,这样空格分词器就满足我们的需求了。

(1)创建索引,针对想要分词的字段指定空格分词器

whitespace_analyzer_1:指定为whitespace

content:指定为空格分词器

{"settings": {"analysis": {"analyzer": {"whitespace_analyzer_1": {"type": "whitespace"}}}},"mappings": {"_doc": {"properties": {"id": {"type": "keyword"},"title": {"type": "text"},"content": {"type": "text","analyzer": "whitespace_analyzer_1"}}}}
}

(2)索引查询

保存一条数据:

{"id": "002","title": "科目2","content": "this is whitespace"
}

根据分词查询:

{"query": {"match": {"desc": "this"}}
}

根据不存在的分词查询则查询不到

{"query": {"match": {"desc": "that"}}
}

http://www.lryc.cn/news/252958.html

相关文章:

  • 【LeetCode】692. 前K个高频单词
  • 在Windows操作系统上使用rtsp simple server和ffmpeg推送录屏视频流
  • 互联网摸鱼日报(2023-12-05)
  • Android 项目的依赖方式
  • ArcGIS提取DEM中的山脉范围
  • 漏洞复现--万户ezoffice wpsservlet任意文件上传
  • TCPDUMP抓包明确显示IP地址和端口号
  • java FTP客户端获取文件流假死问题
  • python使用记录
  • 【Vulnhub 靶场】【Coffee Addicts: 1】【简单-中等】【20210520】
  • codeforces每日两道思维题(第 二 天)
  • 【网络安全】-常见的网站攻击方式详解
  • ElasticSearch学习笔记(一)
  • go写文件后出现大量NUL字符问题记录
  • 【Collection - PriorityQueue源码解析】
  • Javascript_根据截止日期超时自动返回
  • 记录 | vscode设置自动换行
  • k8s引用环境变量
  • navicate16 2059 plugin http could not be loaded
  • dp-基础版动态规划(动态规划每日一题计划)10/50
  • 轻食沙拉店外卖配送小程序商城效果如何
  • Oracle ADRCI工具使用说明
  • Amazon CodeWhisperer 正式可用, 并面向个人开发者免费开放
  • 8-Hive原理与技术
  • cloudflare Tunnel完整
  • 微信聊天窗口测试用例
  • Linux下配置邮箱客户端MUTT,整合msmtp + procmail + fetchmail
  • [每周一更]-(第75期):Go相关粗浅的防破解方案
  • 停留时间是您需要跟踪的 SEO 指标
  • ES常用操作语句