二、搜索----幕后揭秘
搜索时用户和搜索引擎之间的一种人机对话。
总所周知,搜索引擎的核心功能是存储、查询并获取内容。
鼓励用户继续进行探索的方式将相关性文档呈现给用户。
倒排索引
由词典和倒排表组成。倒排表中描述单个词和包含该词的文档列表与之对应。
词典和倒排表都是映射表。
为了让搜索引擎能够提供相关性结果并帮助用户改进查询条件,Lucene在索引中还加入了更多的数据结构和元数据。
对内容进行索引:提取、充实、分析和索引
文档的搜索和获取
布尔搜索:可以合并多条查询的返回结果,求交集算法
Lucene中BooleanQuery类,
MUST是+,MUST_NOT是-,SHOULD不加前缀
例,black +cat -dog
位置和短语匹配:确保两个单词是相邻的短语。
过滤、切面和聚合:Elasticsearch有聚合功能,允许用户基于某个字段的取值对数据进行过滤,对其他字段的取值进行分组,并最终对这些字段进行聚合处理(sum,mean,count等),以此来实现高效的在线分析处理。
排序、结果排名、以及相关性:排序规则可以通过函数进行指定。