阅读 64

ElasticSearch

elasticsearch的核心API

搜索:
GET /xx/_search
{
query:{},
from: 0,
size: 10,
sort:{},
highlight:{},
aggs: {},
suggest:{},
_source: {}
}

  • 请求DSL构建
      1. SearchRequest#source(), 构建完整的搜索DSL的
      1. SearchRequest#source().query(QueryBuilders), QueryBuilders包含各种各样的query
        QueryBuilders#matchQuery()\termQuery()\rangeQuery()\boolQuery()\functionScoreQueury()
      1. SearchRequest#source().from(0).size(10) 分页
      1. SearchRequest#source().sort("fieldName", SortOrder.ASC) 排序
      1. SearchRequest#source().highlight(new HighlightBuilder().field("xx").requiredFieldMatch(false))高亮
      1. SearchRequest#source().aggs(AggregationBuilders.term("xx").field(""))
      1. SearchRequest#source().suggest(
        new SuggestBuilder().addSuggestion("",
        SuggestBuilders.completionSuggestion("field").size(10).prefix("s").skipDuplicates(true)))
  • 结果解析
    参考结果的JSON,从外到内,逐层解析。需要注意两个:
    • 聚合时,聚合结果要转型 Aggregation --> Terms、Stats
    • 补全时,补全结果要转型:Suggestion --> CompletionSuggestion

使用Nacos时:
- 依赖: Nacos-Discovery
- yaml文件中的nacos地址
使用Feign:
- 依赖:OpenFeign
- 启动类注解@EnableFeignClients
- 编写Feign客户端
使用Gateway:
- 依赖:gateway、Nacos-Discovery
- yaml配置:路由、nacos地址

原文:https://www.cnblogs.com/ettisi/p/15260654.html

文章分类
代码人生
文章标签
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐