Elasticsearch Java API 如何实现长尾关键词查询?
- 内容介绍
- 文章标签
- 相关推荐
本文共计639个文字,预计阅读时间需要3分钟。
javapackage com.etonenet.msisdn;
import com.codahale.metrics.MetricRegistry;import com.codahale.metrics.Slf4jReporter;import com.codahale.metrics.Timer;import com.fasterxml.jackson.core.JsonProcessingException;
Elasticsearch java API examplepackage com.etonenet.msisdn;
import com.codahale.metrics.MetricRegistry;
import com.codahale.metrics.Slf4jReporter;
import com.codahale.metrics.Timer;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import example.springdata.elasticsearch.conference.Conference;
import org.elasticsearch.action.get.GetResponse;
import org.elasticsearch.action.index.IndexResponse;
import org.elasticsearch.action.search.SearchRequest;
import org.elasticsearch.action.update.UpdateRequest;
import org.elasticsearch.action.update.UpdateResponse;
import org.elasticsearch.client.transport.TransportClient;
import org.elasticsearch.common.settings.Settings;
import org.elasticsearch.common.transport.InetSocketTransportAddress;
import org.elasticsearch.common.xcontent.XContentType;
import org.elasticsearch.index.query.BoolQueryBuilder;
import org.elasticsearch.index.query.MatchPhraseQueryBuilder;
import org.elasticsearch.index.query.MatchQueryBuilder;
import org.elasticsearch.index.query.Operator;
import org.elasticsearch.index.search.MatchQuery;
import org.elasticsearch.search.SearchHit;
import org.elasticsearch.search.builder.SearchSourceBuilder;
import org.elasticsearch.search.fetch.subphase.FetchSourceContext;
import org.elasticsearch.transport.client.PreBuiltTransportClient;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.slf4j.LoggerFactory;
import java.net.InetAddress;
import java.util.*;
import java.util.concurrent.TimeUnit;
import static org.elasticsearch.common.xcontent.XContentFactory.jsonBuilder;
/**
* Created by wxu on 2017/8/24.
*/
public class ApplicationTest {
public static final String HOST = "10.8.11.23";
public static final String INDEX = "twitter";
public static final String TYPE = "tweet";
private TransportClient client;
private Slf4jReporter reporter;
static final MetricRegistry metrics = new MetricRegistry();
@Before
public void setUp() throws Exception {
// on startup
byte[] as = new byte[]{10, 8, 11, 23};
client = new PreBuiltTransportClient(Settings.EMPTY)
// .addTransportAddress(new InetSocketTransportAddress(InetAddress.getByAddress(as), 9300));
.addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName(HOST), 9300));
reporter = Slf4jReporter.forRegistry(metrics)
.outputTo(LoggerFactory.getLogger("com.etonenet.epay.metrics.MetricService"))
.convertRatesTo(TimeUnit.SECONDS)
.convertDurationsTo(TimeUnit.MILLISECONDS)
.build();
reporter.start(1, TimeUnit.SECONDS);
}
@After
public void tearDown() throws Exception {
// on shutdown
client.close();
}
@Test
public void index() throws Exception {
Map
本文共计639个文字,预计阅读时间需要3分钟。
javapackage com.etonenet.msisdn;
import com.codahale.metrics.MetricRegistry;import com.codahale.metrics.Slf4jReporter;import com.codahale.metrics.Timer;import com.fasterxml.jackson.core.JsonProcessingException;
Elasticsearch java API examplepackage com.etonenet.msisdn;
import com.codahale.metrics.MetricRegistry;
import com.codahale.metrics.Slf4jReporter;
import com.codahale.metrics.Timer;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import example.springdata.elasticsearch.conference.Conference;
import org.elasticsearch.action.get.GetResponse;
import org.elasticsearch.action.index.IndexResponse;
import org.elasticsearch.action.search.SearchRequest;
import org.elasticsearch.action.update.UpdateRequest;
import org.elasticsearch.action.update.UpdateResponse;
import org.elasticsearch.client.transport.TransportClient;
import org.elasticsearch.common.settings.Settings;
import org.elasticsearch.common.transport.InetSocketTransportAddress;
import org.elasticsearch.common.xcontent.XContentType;
import org.elasticsearch.index.query.BoolQueryBuilder;
import org.elasticsearch.index.query.MatchPhraseQueryBuilder;
import org.elasticsearch.index.query.MatchQueryBuilder;
import org.elasticsearch.index.query.Operator;
import org.elasticsearch.index.search.MatchQuery;
import org.elasticsearch.search.SearchHit;
import org.elasticsearch.search.builder.SearchSourceBuilder;
import org.elasticsearch.search.fetch.subphase.FetchSourceContext;
import org.elasticsearch.transport.client.PreBuiltTransportClient;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.slf4j.LoggerFactory;
import java.net.InetAddress;
import java.util.*;
import java.util.concurrent.TimeUnit;
import static org.elasticsearch.common.xcontent.XContentFactory.jsonBuilder;
/**
* Created by wxu on 2017/8/24.
*/
public class ApplicationTest {
public static final String HOST = "10.8.11.23";
public static final String INDEX = "twitter";
public static final String TYPE = "tweet";
private TransportClient client;
private Slf4jReporter reporter;
static final MetricRegistry metrics = new MetricRegistry();
@Before
public void setUp() throws Exception {
// on startup
byte[] as = new byte[]{10, 8, 11, 23};
client = new PreBuiltTransportClient(Settings.EMPTY)
// .addTransportAddress(new InetSocketTransportAddress(InetAddress.getByAddress(as), 9300));
.addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName(HOST), 9300));
reporter = Slf4jReporter.forRegistry(metrics)
.outputTo(LoggerFactory.getLogger("com.etonenet.epay.metrics.MetricService"))
.convertRatesTo(TimeUnit.SECONDS)
.convertDurationsTo(TimeUnit.MILLISECONDS)
.build();
reporter.start(1, TimeUnit.SECONDS);
}
@After
public void tearDown() throws Exception {
// on shutdown
client.close();
}
@Test
public void index() throws Exception {
Map

