分布式搜索引擎
学习目标
理解DSL语句常用查询操作
全文检索(分词搜索)
查询所有
词条查询
GEO查询
复合查询(多条件查询)
排序、分页
相关度得分 原理、如何改相关度得分
理解高亮查询流程
高亮原理
实现高亮操作
掌握基于RestClient查询操作
复杂查询-实现和DSL语句操作一样的功能
能够实现黑马旅游网查询操作
关键词搜索
GEO附近的酒店搜索
广告得分修改
1.DSL查询文档
elasticsearch 的查询依然是基于JSON风格的DSL来实现的。
1.1.DSL查询分类
Elasticsearch提供了基于JSON的DSL(Domain Specific Language)来定义查询。常见的查询类型包
括:
查询所有:查询出所有数据,一般测试用。例如:match_all
全文检索(full text)查询:利用分词器对用户输入内容分词,然后去倒排索引库中匹配。例如:
match_query
multi_match_query
精确查询:根据精确词条值查找数据,一般是查找keyword、数值、日期、boolean等类型字段。
例如:
ids
range
term
地理(geo)查询:根据经纬度查询。例如:
geo_distance
geo_bounding_box
复合(compound)查询:复合查询可以将上述各种查询条件组合起来,合并查询条件。例如:
评论0