use of io.searchbox.core.SearchResult.Hit in project dq-easy-cloud by dq-open-cloud.
the class TransportClient method prefixQuery.
/**
* 前缀查询
*
* @throws Exception
*/
@Test
public void prefixQuery() throws Exception {
SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
// 前缀查询
QueryBuilder queryBuilder = QueryBuilders.prefixQuery("name", "T:o");
searchSourceBuilder.query(queryBuilder);
searchSourceBuilder.size(10);
searchSourceBuilder.from(0);
String query = searchSourceBuilder.toString();
System.out.println(query);
Search search = new Search.Builder(query).addIndex(indexName).addType(typeName).build();
SearchResult result = jestClient.execute(search);
List<Hit<Object, Void>> hits = result.getHits(Object.class);
System.out.println("Size:" + hits.size());
for (Hit<Object, Void> hit : hits) {
Object news = hit.source;
System.out.println(news.toString());
}
}
use of io.searchbox.core.SearchResult.Hit in project dq-easy-cloud by dq-open-cloud.
the class TransportClient method rangeQuery.
/**
* 区间查询
*
* @throws Exception
*/
@Test
public void rangeQuery() throws Exception {
SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
QueryBuilder queryBuilder = QueryBuilders.rangeQuery("birth").gte("2016-09-01T00:00:00").lte("2016-10-01T00:00:00").includeLower(true).includeUpper(// 区间查询
true);
searchSourceBuilder.query(queryBuilder);
searchSourceBuilder.size(10);
searchSourceBuilder.from(0);
String query = searchSourceBuilder.toString();
System.out.println(query);
Search search = new Search.Builder(query).addIndex(indexName).addType(typeName).build();
SearchResult result = jestClient.execute(search);
List<Hit<Object, Void>> hits = result.getHits(Object.class);
System.out.println("Size:" + hits.size());
for (Hit<Object, Void> hit : hits) {
Object news = hit.source;
System.out.println(news.toString());
}
}
use of io.searchbox.core.SearchResult.Hit in project dq-easy-cloud by dq-open-cloud.
the class TransportClient method createSearch.
/**
* 搜索高亮显示
*
* @throws Exception
*/
@Test
public void createSearch() throws Exception {
SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
searchSourceBuilder.query(QueryBuilders.termQuery("view", "200"));
HighlightBuilder highlightBuilder = new HighlightBuilder();
// 高亮title
highlightBuilder.field("view");
// 高亮标签
highlightBuilder.preTags("<em>").postTags("</em>");
// 高亮内容长度
highlightBuilder.fragmentSize(500);
// searchSourceBuilder.highlight(highlightBuilder);
System.out.println(searchSourceBuilder.toString());
Search search = new Search.Builder(searchSourceBuilder.toString()).addIndex(indexName).build();
SearchResult result = jestClient.execute(search);
System.out.println(result.getJsonString());
System.out.println("本次查询共查到:" + result.getTotal() + "篇文章!");
List<Hit<CsdnBlog, Void>> hits = result.getHits(CsdnBlog.class);
System.out.println(hits.size());
for (Hit<CsdnBlog, Void> hit : hits) {
CsdnBlog source = hit.source;
// 获取高亮后的内容
Map<String, List<String>> highlight = hit.highlight;
// 高亮后的title
List<String> views = highlight.get("view");
if (views != null) {
source.setView(views.get(0));
}
System.out.println("标题:" + source.getTitile());
System.out.println("内容:" + source.getContent());
System.out.println("浏览数:" + source.getView());
System.out.println("标签:" + source.getTag());
System.out.println("作者:" + source.getAuthor());
}
}
use of io.searchbox.core.SearchResult.Hit in project dq-easy-cloud by dq-open-cloud.
the class TransportClient method wildcardQuery.
/**
* 通配符和正则表达式查询
*
* @throws Exception
*/
@Test
public void wildcardQuery() throws Exception {
SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
// 通配符和正则表达式查询
QueryBuilder queryBuilder = QueryBuilders.wildcardQuery("title", "*:*");
searchSourceBuilder.query(queryBuilder);
searchSourceBuilder.size(10);
searchSourceBuilder.from(0);
String query = searchSourceBuilder.toString();
System.out.println(query);
Search search = new Search.Builder(query).addIndex(indexName).addType(typeName).build();
SearchResult result = jestClient.execute(search);
List<Hit<Object, Void>> hits = result.getHits(Object.class);
System.out.println("Size:" + hits.size());
for (Hit<Object, Void> hit : hits) {
Object news = hit.source;
System.out.println(news.toString());
}
}
use of io.searchbox.core.SearchResult.Hit in project ff4j by ff4j.
the class ElasticQueryBuilder method getFeatureTechIdByGroup.
@SuppressWarnings({ "rawtypes" })
public Set<String> getFeatureTechIdByGroup(String groupName) {
SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
searchSourceBuilder.query(QueryBuilders.matchQuery("group", groupName));
Search search = //
new Search.Builder(searchSourceBuilder.toString()).addIndex(//
connection.getIndexName()).addType(//
ElasticConstants.TYPE_FEATURE).build();
SearchResult result = connection.search(search, true);
Set<String> metadatas = new HashSet<String>();
if (null != result && result.isSucceeded()) {
List<Hit<Map, Void>> features = result.getHits(Map.class);
for (Hit<Map, Void> hit : features) {
metadatas.add(hit.source.get(JestResult.ES_METADATA_ID).toString());
}
}
return metadatas;
}
Aggregations