博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
How to provide highlighting with Spring data elasticsearch
阅读量:6801 次
发布时间:2019-06-26

本文共 1733 字,大约阅读时间需要 5 分钟。

@Testpublic void shouldReturnHighlightedFieldsForGivenQueryAndFields() {    //given    String documentId = randomNumeric(5);    String actualMessage = "some test message";    String highlightedMessage = "some test message";    SampleEntity sampleEntity = SampleEntity.builder().id(documentId)            .message(actualMessage)            .version(System.currentTimeMillis()).build();    IndexQuery indexQuery = getIndexQuery(sampleEntity);    elasticsearchTemplate.index(indexQuery);    elasticsearchTemplate.refresh(SampleEntity.class);    SearchQuery searchQuery = new NativeSearchQueryBuilder()            .withQuery(termQuery("message", "test"))            .withHighlightFields(new HighlightBuilder.Field("message"))            .build();    Page
sampleEntities = elasticsearchTemplate.queryForPage(searchQuery, SampleEntity.class, new SearchResultMapper() { @Override public
Page
mapResults(SearchResponse response, Class
clazz, Pageable pageable) { List
chunk = new ArrayList
(); for (SearchHit searchHit : response.getHits()) { if (response.getHits().getHits().length <= 0) { return null; } SampleEntity user = new SampleEntity(); user.setId(searchHit.getId()); user.setMessage((String) searchHit.getSource().get("message")); user.setHighlightedMessage(searchHit.getHighlightFields().get("message").fragments()[0].toString()); chunk.add(user); } if (chunk.size() > 0) { return new PageImpl
((List
) chunk); } return null; } }); assertThat(sampleEntities.getContent().get(0).getHighlightedMessage(), is(highlightedMessage));}

 

转载于:https://www.cnblogs.com/softidea/p/6102792.html

你可能感兴趣的文章
VUE 项目dependency was not found: * !!vue-style-loader!css-loader? 解决方案
查看>>
springmvc 自定义拦截器
查看>>
Linux中内存挂载到目录下
查看>>
【转】MyEclipse 9.0正式版官网下载(附Win+Llinux激活方法、汉化包)
查看>>
HDU 5794 - A Simple Chess
查看>>
Topology and Geometry in OpenCascade-Vertex
查看>>
Create views of OpenCASCADE objects in the Debugger
查看>>
解决Android版Firefox字体显示过大的问题
查看>>
使用new Vue实例的 components 属性定义 私有组件 login
查看>>
[C++]一份Linq to object的C++实现
查看>>
Linux相关的入门命令
查看>>
Android 关于ijkplayer
查看>>
LVS介绍与部署
查看>>
【Lolttery】项目开发日志 - (三)维护好一个项目好难
查看>>
数据库面试题
查看>>
C#的OpenFileDialog和SaveFileDialog的常见用法(转)
查看>>
(转)详解C#中的反射
查看>>
超简单将Centos的yum源更换为国内的阿里云源
查看>>
(转)返回顶部的js实现(jQuery/MooTools)
查看>>
十大最值得关注的国内大数据分析厂商
查看>>