ElasticSearch

Posted ettisi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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地址

以上是关于ElasticSearch的主要内容,如果未能解决你的问题,请参考以下文章