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

Elasticsearch(text和keyword)区别分析

text:全文检索类型,经过分词处理,支持模糊匹配‌
keyword:精确匹配类型,适用于聚合、排序和过滤‌

text

1. 核心属性


‌analyzer属性‌:

指定用于索引和搜索的分词器
默认使用标准分析器(Standard Analyzer)
示例:"analyzer": "ik_max_word"(中文分词器)‌

‌search_analyzer属性‌:

指定用于搜索的分词器
当搜索时需要使用不同分词器时设置
示例:"search_analyzer": "ik_smart"‌

‌fields属性‌:

创建子字段实现多用途索引
典型用法:"fields": {"raw": {"type": "keyword"}}‌

2. 高级属性

index_options属性‌:

控制倒排索引的存储方式
可选值:docs(默认)、freqs、positions、offsets
影响查询性能和存储空间‌

‌similarity属性‌:

设置相似度算法
影响评分计算方式
可选值:BM25(默认)、classic等‌

‌copy_to属性‌:

将多个字段值合并到单个字段
常用于构建组合搜索字段
示例:"copy_to": "full_text"‌

3. 性能优化属性

‌eager_global_ordinals属性‌:

优化聚合性能
预加载全局序数(ordinals)数据
默认false‌

‌boost属性‌:

设置字段权重
影响搜索结果排序
示例:"boost": 2.0‌

‌ignore_above属性‌:

设置字段最大索引长度(UTF-8字符数)
超过该长度的值不会被索引(默认256)
示例:"ignore_above": 1024

4. 典型配置示例

keyword

1. 核心属性

index属性‌:

控制字段是否被索引(true/false)
index: true时支持搜索、排序和聚合操作‌
index: false时仅存储原始值‌

‌ignore_above属性‌:

设置字段最大索引长度(UTF-8字符数)
超过该长度的值不会被索引(默认256)‌
示例:"ignore_above": 1024

2. 高级属性

‌normalizer属性‌:
指定自定义规范化器
用于统一处理大小写、重音符号等‌

copy_to属性‌:
将字段值复制到其他字段
常用于构建组合搜索字段‌

‌doc_values属性‌:
控制是否存储列式存储数据
默认true,支持高效排序和聚合‌

3. 特殊属性

eager_global_ordinals属性‌:

优化聚合性能
预加载全局序数(ordinals)数据‌

‌similarity属性‌:
设置相似度算法
影响评分计算方式‌

4. 多字段属性

‌fields属性‌:
创建子字段实现多用途索引
示例:"fields": {"raw": {"type": "keyword"}}‌

meta属性‌:
存储元数据信息
用于特殊业务逻辑处理‌

5.典型配置示例

http://www.xdnf.cn/news/1442575.html

相关文章:

  • 【教程】IDEA中导入springboot-maven工程
  • Git 别名:用简短命令大幅提升开发效率
  • 企业级AI应用,Dify集成RAGFlow知识库保姆教程
  • 少儿编程C++快速教程之——1. 基础语法和输入输出
  • 【STL源码剖析】从源码看 deque :拆解双端队列的底层实现与核心逻辑
  • 聚焦岗位能力提升:休闲服务与管理虚拟仿真实训室的实训设计与落地
  • 华为卫星对星引导技术深度解析:原理、实现与开源替代方案
  • 从 MMLU 到 HumanEval:为什么评估大型语言模型(LLM)的基准至关重要?
  • 计算机二级C语言操作题(填空、修改、设计题)——真题库(14)附解析答案
  • 医学图像配准的循环推理机|文献速递-深度学习人工智能医疗图像
  • Aerobits-用于 sUAS 和 UTM/U-Space 的微型 ADS-B 技术(收发器/接收器)和无人机跟踪应答器
  • 车载诊断架构 --- 从架构系统角度怎么确保整车DTC的完整性?
  • 蓝光三维扫描技术赋能内衣胸垫设计:从精准制造到个性化体验的革新之旅
  • 突破性能瓶颈:Scala爬虫的大规模数据处理方案
  • 【Lua】题目小练14
  • 为什么几行dropout就能显著提升稀疏3DGS渲染质量?
  • 深度学习篇---InceptionNet网络结构
  • 【串口助手】串口调试助手LTSerialTool v3.12.0发布
  • A股大盘数据-2025093分析
  • Java如何实现jar包方法覆盖
  • C语言字符函数和字符串函数(1)
  • TypeScript 与 Java 重载机制对比
  • 08、Linux 安全组开放端口
  • 数据结构:图的表示 (Representation of Graphs)
  • C++完美转发
  • 微信小程序-day3
  • Uniapp中进行微信小程序头像和昵称的更改
  • 20250901 搜索总结
  • 免费专业软件推荐 | 图片/PDF水印添加神器:艾克斯水印工具使用全攻略
  • java中二维数组笔记