ElasticSearch 记录

来源:互联网 发布:怎么在pdf上签名 mac 编辑:程序博客网 时间:2024/05/17 15:58

version: 5.4.1

step 1  下载 elasticsearch

step 2   启动  {es_dir}/bin/.elasticsearch


创建索引、put一条数据

curl -XPUT 'http://localhost:9200/twitter/tweet/1' -d '{  "user":"lili",  "post_date":"2017-06-09",  "message":"Hello, ElasticSearch!"}'

Rest API 查询

curl -XGET 'http://localhost:9200/twitter/tweet/_search?pretty'{  "took" : 0,  "timed_out" : false,  "_shards" : {    "total" : 5,    "successful" : 5,    "failed" : 0  },  "hits" : {    "total" : 1,    "max_score" : 1.0,    "hits" : [      {        "_index" : "twitter",        "_type" : "tweet",        "_id" : "1",        "_score" : 1.0,        "_source" : {          "user" : "lili",          "post_date" : "2017-06-09",          "message" : "Hello, ElasticSearch!"        }      }    ]  }}

Java API 查询

1、POM.xml

<dependency>            <groupId>org.elasticsearch.client</groupId>            <artifactId>transport</artifactId>            <version>5.4.1</version>        </dependency>        <dependency>            <groupId>org.elasticsearch</groupId>            <artifactId>elasticsearch</artifactId>            <version>5.4.1</version>        </dependency>        <dependency>            <groupId>org.apache.logging.log4j</groupId>            <artifactId>log4j-api</artifactId>            <version>2.8.2</version>        </dependency>        <dependency>            <groupId>org.apache.logging.log4j</groupId>            <artifactId>log4j-core</artifactId>            <version>2.8.2</version>        </dependency>


2、src/main/resources 下新建 log4j2.properties文件

appender.console.type = Consoleappender.console.name = consoleappender.console.layout.type = PatternLayoutrootLogger.level = inforootLogger.appenderRef.console.ref = console

3、测试(jdk版本>=1.8)

public class ESDemo {    public static void main(String[] args) throws Exception {        Settings settings = Settings.builder()                .put("cluster.name", "myes")//集群名称可以在{es_dir}/conf/elasticsearch.yml中配置                .put("client.transport.sniff", "true").build();        TransportClient client = new PreBuiltTransportClient(settings).addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName("localhost"), 9300));        QueryBuilder qb = termQuery("user", "lili");        SearchResponse response = client.prepareSearch("twitter")                .setTypes("tweet").setQuery(qb).get();        if (response.getHits().getTotalHits() != 0) {            SearchHits shs = response.getHits();            for (SearchHit sh : shs.getHits()) {                System.out.println((sh.getSource().get("message")));            }        }    }}


4、结果




原创粉丝点击