elasticsearch 创建搜索初步

你猜 阅读:664 2021-03-31 22:11:34 评论:0

我们在上一篇文章中,已经讲解:elasticsearch 简介和创建索引初步中,我们已经讲解如何在elasticSearch 中创建索引,我们结合上一篇文章,来简单讲解ElasticSearch 是如何搜索数据的。

elasticsearch 搜索:

本项目环境:eclipse + JDK 7 + elasticsearch1.7.0

项目截图:

 

源代码:

实体数据类[com.elasticsearch.entry.Medicine]与上一篇文档相同。

实体数据集合工厂[com.elasticsearch.factory.DataFactory]与上一篇文档相同。

JSON 工具类[com.elasticsearch.util.JsonUtil]与上一篇文档相同。

ElasticSearch 核心检索类[com.elasticsearch.index.ElasticSearchHandler]与上一篇文档相同。

package com.elasticsearch.main; 
 
import java.util.List; 
 
import org.elasticsearch.index.query.QueryBuilder; 
import org.elasticsearch.index.query.QueryBuilders; 
 
import com.elasticsearch.date.DataFactory; 
import com.elasticsearch.entity.Medicine; 
import com.elasticsearch.index.ElasticSearchHandler; 
 
public class ElasticsearchTest { 
 
	public static void main(String[] args) { 
		// TODO Auto-generated method stub 
		 ElasticSearchHandler esHandler = new ElasticSearchHandler(); 
	     //List<String> jsondata = DataFactory.getInitJsonData(); 
	     // String indexname = "indexdemo"; 
	     String indexname = "eindexdemo"; 
	     // String type = "typedemo"; 
	     String type = "etypedemo"; 
	     //创建索引 
	     //esHandler.createIndexResponse(indexname, type, jsondata); 
	     //查询条件 
	        QueryBuilder queryBuilder = QueryBuilders.termQuery("id", 1); 
	        /*QueryBuilder queryBuilder = QueryBuilders.boolQuery() 
	          .must(QueryBuilders.termQuery("id", 1));*/ 
	        List<Medicine> result = esHandler.searcher(queryBuilder, indexname, type); 
	        for(int i=0; i<result.size(); i++){ 
	            Medicine medicine = result.get(i); 
	            System.out.println("(" + medicine.getId() + ")药品名称:" +medicine.getName() + "\t\t" + medicine.getFunction()); 
	        } 
	} 
 
} 
elasticsearch 检索结果:



声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号