基于词项和基于全文的搜索
基于Term的查询
- Term的重要性
- Term是表达语意的最小单位。搜索和利用统计语言模型进行自然语言处理都需要处理Term。
- 特点
- Term Level Query:Term Query / Range Query / Exists Query / Prefix Query / Wildcard Query
- 在ES中,Term 查询,对输入不做分词。会将输入作为一个整体,在倒排索引中查找准确的词项,并且使用相关度算分公式为每个包含该词项的文档进行相关度算分
- 可以通过Constant Score 将查询转换成一个Filtering,避免算分,并利用缓存,提高性能
结构化搜索
- 结构化搜索是指对结构化数据的搜索
- 日期、布尔类型和数字都是结构化的
- 文本也可以是结构化
- 结构化的文本可以做精确匹配或者部分匹配
- Term查询 / Prefix 前缀查询
- 结构化结果只有"是"或"否"两个值