码迷,mamicode.com
首页 > 编程语言 > 详细

es多条件查询之must用法(Java实现)

时间:2017-05-04 18:32:04      阅读:1506      评论:0      收藏:0      [点我收藏+]

标签:beans   imm   split   pac   alibaba   build   public   string   oid   

package com.zx.znyd.es;

import java.io.IOException;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;import org.apache.commons.lang.StringUtils;
import org.elasticsearch.action.admin.indices.mapping.put.PutMappingRequest;
import org.elasticsearch.action.get.GetResponse;
import org.elasticsearch.action.index.IndexRequest;
import org.elasticsearch.action.search.SearchResponse;
import org.elasticsearch.action.search.SearchType;
import org.elasticsearch.client.Client;
import org.elasticsearch.client.Requests;
import org.elasticsearch.client.transport.TransportClient;
import org.elasticsearch.common.mustache.Mustache;
import org.elasticsearch.common.settings.ImmutableSettings;
import org.elasticsearch.common.settings.Settings;
import org.elasticsearch.common.transport.InetSocketTransportAddress;
import org.elasticsearch.common.transport.TransportAddress;
import org.elasticsearch.common.xcontent.XContentBuilder;
import org.elasticsearch.common.xcontent.XContentFactory;
import org.elasticsearch.index.query.MatchQueryBuilder.Operator;
import org.elasticsearch.index.query.QueryBuilders;
import org.elasticsearch.search.SearchHit;
import org.elasticsearch.search.SearchHits;
import org.elasticsearch.search.sort.SortOrder;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

import com.alibaba.fastjson.JSONObject;
import com.zx.znyd.common.MD5;
import com.zx.znyd.common.SpringContextUtil;
import com.zx.znyd.dao.AutoReplyDao;
import com.zx.znyd.data.model.AutoReply;
import com.zx.znyd.data.model.LogIndex;
import com.zx.znyd.service.AutoReplyDeployService;

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = "classpath:applicationContext.xml")
public class TestES {

	@Autowired
	@Qualifier("esClient")
	private Client client;
    
    @Test  
    public void testSearch()  
    {  
    	String index="index_log_daily";
    	String type="uq_log";
    	String uquestion = "139";
    	String province = "江苏";
        SearchResponse searchResponse = client.prepareSearch(index)  
                .setTypes(type)  
                .setQuery(QueryBuilders.matchAllQuery()) //查询所有
                .setQuery(QueryBuilders.boolQuery()
                .must(QueryBuilders.matchQuery("uquestion", uquestion))//查询uquestion为139的
                .must(QueryBuilders.matchQuery("province", province)))//查询省份为江苏的
                //.setQuery(QueryBuilders.matchQuery("uquestion", "12599").operator(Operator.AND)) //根据tom分词查询name,默认or 
                //.setQuery(QueryBuilders.matchQuery("province", "江苏").operator(Operator.AND)) //根据tom分词查询name,默认or 
                //.setQuery(QueryBuilders.multiMatchQuery("tom", "name", "age")) //指定查询的字段  
                //.setQuery(QueryBuilders.queryString("name:to* AND age:[0 TO 19]")) //根据条件查询,支持通配符大于等于0小于等于19  
                //.setQuery(QueryBuilders.termQuery("name", "tom"))//查询时不分词  
                .setSearchType(SearchType.QUERY_THEN_FETCH)  
                .setFrom(0).setSize(10)//分页  
                //.addSort("age", SortOrder.DESC)//排序  
                .get();  
          
        SearchHits hits = searchResponse.getHits();  
        long total = hits.getTotalHits();  
        System.out.println(total);  
        SearchHit[] searchHits = hits.hits();  
        for(SearchHit s : searchHits)  
        {  
            System.out.println(s.getSourceAsString());
            String []logindex=s.getSourceAsString().split(",");
            
        }  
    }  
}

  

es多条件查询之must用法(Java实现)

标签:beans   imm   split   pac   alibaba   build   public   string   oid   

原文地址:http://www.cnblogs.com/lchzlp/p/6808226.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!