• 微信公众号:美女很有趣。 工作之余,放松一下,关注即送10G+美女照片!

ElasticSearch

开发技术 开发技术 5小时前 3次浏览

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地址


程序员灯塔
转载请注明原文链接:ElasticSearch
喜欢 (0)