Elasticsearch文本分析:从基础到定制
1. 概述
Elasticsearch能够存储结构化和非结构化数据。处理结构化数据相对简单,只需匹配查询和文档,若匹配则返回结果,不匹配则不返回。例如,通过电子邮件地址检索客户信息、查找特定日期之间取消的航班、获取上一季度的销售数据、获取某一天分配给外科医生的患者列表等。
而查询非结构化数据则更为复杂,不仅要判断文档是否与查询匹配,还要评估文档与查询的相关性。例如,在书籍标题中搜索“K8s”可能会找到《Kubernetes in Action》这本书,搜索“chasing red october”可能会找到《The Hunt for Red October》这部电影。
值得注意的是,文本在数据索引和查询时都会进行分析。通常在搜索时也会使用相同的分析器,但有时可能需要使用不同的分析器进行搜索。
1.1 查询非结构化数据
非结构化数据就是我们日常使用的自然语言,如电影简介、研究文章、电子邮件正文、博客文章等。在这些情况下,精确匹配往往无法得到理想的结果。
假设搜索引擎中索引了爱因斯坦的名言“Imagination is more important than knowledge”,当用户使用单个关键词或组合关键词进行查询时,如“imagination”、“knowledge”、“imagination knowledge”、“knowledge important”,可以得到匹配结果。但如果用户搜索“passion”、“importance”、“passionate wisdom”、“curious cognizance”等,默认设置下引擎无法返回匹配结果,因为这些词是“
超级会员免费看
订阅专栏 解锁全文
1289

被折叠的 条评论
为什么被折叠?



