ElasticSearch 实现分词全文检索()_3

  本篇文章为你整理了ElasticSearch 实现分词全文检索()的详细内容,包含有 ElasticSearch 实现分词全文检索,希望能帮助你了解 ElasticSearch 实现分词全文检索。

  ElasticSearch 实现分词全文检索 - 概述
 

  ElasticSearch 实现分词全文检索 - ES、Kibana、IK安装
 

  ElasticSearch 实现分词全文检索 - Restful基本操作
 

  ElasticSearch 实现分词全文检索 - Java SpringBoot ES 索引操作
 

  ElasticSearch 实现分词全文检索 - Java SpringBoot ES 文档操作
 

  ElasticSearch 实现分词全文检索 - 测试数据准备
 

  ElasticSearch 实现分词全文检索 - term、terms查询
 

  ElasticSearch 实现分词全文检索 - match、match_all、multimatch查询
 

  ElasticSearch 实现分词全文检索 - id、ids、prefix、fuzzy、wildcard、range、regexp 查询
 

  ElasticSearch 实现分词全文检索 - Scroll 深分页
 

  ElasticSearch 实现分词全文检索 - delete-by-query
 

  ElasticSearch 实现分词全文检索 - 复合查询
 

  ElasticSearch 实现分词全文检索 - filter查询
 

  ElasticSearch 实现分词全文检索 - 高亮查询
 

  ElasticSearch 实现分词全文检索 - 聚合查询 cardinality 以下待发布
 

  ElasticSearch 实现分词全文检索 - 经纬度查询
 

  ElasticSearch 实现分词全文检索 - 搜素关键字自动补全(suggest)
 

  ElasticSearch 实现分词全文检索 - SpringBoot 完整实现 Demo 附源码

  ElasticSearch 实现分词全文检索 - 测试数据准备

  高亮查询,就是用户输入的关键字,以一定的特殊样式展示给用户,让用户知道为什么这个结果被检索出来
 

  高亮展示的数据,本身就是文档中的一个Field,单独将Field以highlight的形式返回
 

  ES提供了一个 highlight 属性,和 query 同级别的

  fragment_size:指定返回多少个高亮数据,默认100

  pre_tags:指定前缀标签 font color="red"

  post_tags:指定后缀标签 /font

  fields:指定哪几个字段以高亮形式返回

  

# highlight 查询

 

  POST /sms-logs-index/_search

   "query": {

   "match":{

   "smsContent": "江苏"

   "highlight": {

   "fields": {

   "smsContent": {} #指定哪几个字段以高亮形式返回

   "pre_tags": " font color=red ",

   "post_tags": " /font "

  

 

  Java

  

@Test

 

  void highlightQuery() throws Exception {

   String indexName = "sms-logs-index";

   RestHighLevelClient client = ESClient.getClient();

   //1. 创建SearchRequest对象

   SearchRequest request = new SearchRequest(indexName);

   //2. 指定查询条件

   SearchSourceBuilder builder = new SearchSourceBuilder();

   builder.query(QueryBuilders.matchQuery("smsContent","江苏"));

   HighlightBuilder highlightBuilder = new HighlightBuilder();

   highlightBuilder.field("smsContent",10)

   .preTags(" font color=red ")

   .postTags(" /font

   builder.highlighter(highlightBuilder);

   request.source(builder);

   //3. 执行查询

   SearchResponse resp = client.search(request, RequestOptions.DEFAULT);

   //4. 输出返回值

   for (SearchHit hit : resp.getHits().getHits()) {

   System.out.println(hit.getHighlightFields());

  

 

  以上就是ElasticSearch 实现分词全文检索()的详细内容,想要了解更多 ElasticSearch 实现分词全文检索的内容,请持续关注盛行IT软件开发工作室。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: