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

Elasticsearch 分词与字段类型(keyword vs. text)面试题

Elasticsearch 分词与字段类型(keyword vs. text)面试题 🔍

目录

  • 基础概念
  • 底层存储
  • 查询影响
  • 多字段
  • 聚合与排序
  • 分词器
  • 实战排查
  • 总结

基础概念

💡 问题1:Elasticsearch 中的 keyword 和 text 类型有什么区别?

👉 查看参考答案
对比项keywordtext
分词(Analysis)❌ 不进行分词,存储原始字符串✅ 存入时先分词(如标准分词器)
搜索方式🎯 只能精确匹配(如 term 查询)🔎 支持全文检索(如 match 查询)
适用场景📊 精确匹配、聚合、排序(如 status、ID)📝 全文搜索(如 article、description)
是否支持 DocValues✅ 默认支持(适合排序/聚合)❌ 默认不支持(除非启用 fielddata)

底层存储

🗄️ 问题2:keyword 和 text 类型在倒排索引中的存储方式有何不同?

👉 查看参考答案
keyword:
  • 整个字符串作为**一个词项(term)**存入倒排索引
  • 例如 “error” 会直接存储为 error,搜索时必须完全匹配
text:
  • 字符串会被分词器拆分成多个词项
  • 例如 “Quick Fox” 可能被拆分为 ["quick", "fox"],支持部分匹配

查询影响

🔍 问题3:以下查询会返回什么结果?为什么?

PUT /test_index
{"mappings": {"properties": {"title": { "type": "text"

相关文章:

  • 【python】直线型雷达图
  • 东芝第3代SiC MOSFET助于降低应用中电源损耗
  • 今日行情明日机会——20250516
  • RK3588平台GDC鱼眼矫正开发全解析:原理、实践与优化
  • 关于“集合框架底层原理”的一些问题
  • Java回溯算法解决非递减子序列问题(LeetCode 491)的深度解析
  • OCCT知识笔记之Poly_Triangulation详解
  • 【分布式锁通关指南 10】源码剖析redisson之MultiLock的实现
  • redis数据结构-11(了解 Redis 持久性选项:RDB 和 AOF)
  • C#数组与集合
  • windows系统中下载好node无法使用npm
  • 低空态势感知:基于AI的DAA技术是低空飞行的重要安全保障-机载端地面端
  • 论文阅读:Self-Collaboration Code Generation via ChatGPT
  • userfaultfd内核线程D状态问题排查
  • Elasticsearch 学习(一)如何在Linux 系统中下载、安装
  • 十步法基于Vanna打造高效便捷的 SQL 生成与业务洞察工具
  • 连续隐马尔可夫离散隐马尔科夫模型的MATLAB实现
  • Docker部署jar包
  • 从 Vue3 回望 Vue2:性能优化内建化——从黑盒优化到可控编译
  • 抛物线运动路径动画实现
  • 蒲慕明院士:未来数十年不是AI取代人,而是会用AI的人取代不会用的
  • 《歌手》回归,人均技术流,00后整顿职场
  • 上海博物馆展览进校园,“小先生”传递文物知识
  • 南昌上饶领导干部任前公示:2人拟提名为县(市、区)长候选人
  • 独家 |《苏州河》上海上演,编剧海飞:上海的风能吹透我
  • 紫光集团原董事长赵伟国一审被判死缓