文章目录
- 前言
- 汇总
- 索引配置项设计
- 索引字段类型
- keyword
- text类型
- 多字段映射 (Multi-fields)
- **path_analyzer**
- 数值类型 float
- 日期类型
- tags字段设计
- 自定义路径分析器
- 资料获取
前言
博主介绍:✌目前全网粉丝4W+,csdn博客专家、Java领域优质创作者,博客之星、阿里云平台优质作者、专注于Java后端技术领域。
涵盖技术内容:Java后端、大数据、算法、分布式微服务、中间件、前端、运维等。
博主所有博客文件目录索引:博客目录索引(持续更新)
CSDN搜索:长路
视频平台:b站-Coder长路
汇总
- keyword vs text:
keyword:精确匹配,用于过滤、聚合、排序。text:全文搜索,用于内容检索。
- 数值类型选择:
integer:整数值,如状态码、等级long:大数值,如文件大小、价格date:时间日期,支持范围查询
索引配置项设计
"settings":{"number_of_shards":15,"number_of_replicas":1,"refresh_interval":"30s"}- shards: 15 - 数据分片数,影响并行处理能力
- replicas: 1 - 每个分片的副本数,影响高可用性
- refresh_interval: 30s - 索引刷新间隔,影响数据实时性
索引字段类型
keyword
keyword类型:
"id":{"type":"keyword"}- 含义:用于精确值匹配,不分词
- 适用场景:ID、状态码、标签等需要精确匹配的字段
- 特点:支持聚合、排序,性能优于text类型
text类型
"fileName":{"type":"text","analyzer":"ik_max_word","search_analyzer":"ik_smart"}- 含义:全文搜索字段,会被分词
- analyzer:索引时使用的分词器
- search_analyzer:搜索时使用的分词器
- ik_max_word:细粒度分词
- ik_smart:粗粒度分词
多字段映射 (Multi-fields)
fileName的多字段定义:
"fileName":{"type":"text","fields":{"keyword":{"type":"keyword","ignore_above":256},"raw":{"type":"text","analyzer":"standard"}}}- fileName:主字段,使用IK中文分词
- fileName.keyword:keyword子字段,用于精确匹配、聚合
- fileName.raw:使用标准分词器的text子字段
- ignore_above: 256 - 超过256字符的不会被索引
path_analyzer
"filePath":{"type":"text","analyzer":"path_analyzer","fields":{"keyword":{"type":"keyword"}}}- path_analyzer:自定义路径分析器,用于文件路径的层次化搜索
- 可以搜索如
/home/user/documents/并匹配子路径
数值类型 float
"fileSize":{"type":"float"}- float:单精度浮点数,适合文件大小存储
日期类型
"updateTime":{"type":"date","format":"yyyy-MM-dd HH:mm:ss||epoch_millis"}- format:支持多种日期格式
yyyy-MM-dd HH:mm:ss:字符串格式epoch_millis:时间戳格式
tags字段设计
"tags":{"type":"keyword","fields":{"text":{"type":"text","analyzer":"ik_smart"}}}- tags:keyword类型,用于精确标签匹配
- tags.text:text类型,用于标签的全文搜索
自定义路径分析器
"analysis":{"analyzer":{"path_analyzer":{"type":"custom","tokenizer":"path_tokenizer"}},"tokenizer":{"path_tokenizer":{"type":"path_hierarchy"}}}- path_hierarchy:专门用于路径层次结构的tokenizer
- 例如
/a/b/c会被分词为:/a,/a/b,/a/b/c
资料获取
大家点赞、收藏、关注、评论啦~
精彩专栏推荐订阅:在下方专栏👇🏻
- 长路-文章目录汇总(算法、后端Java、前端、运维技术导航):博主所有博客导航索引汇总
- 开源项目Studio-Vue—校园工作室管理系统(含前后台,SpringBoot+Vue):博主个人独立项目,包含详细部署上线视频,已开源
- 学习与生活-专栏:可以了解博主的学习历程
- 算法专栏:算法收录
更多博客与资料可查看👇🏻获取联系方式👇🏻,🍅文末获取开发资源及更多资源博客获取🍅