elasticsearch 创建搜索初步

来源:互联网 发布:出租车gps数据 编辑:程序博客网 时间:2024/05/22 12:14

我们在上一篇文章中,已经讲解: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 检索结果:



0 0