天天看點

[Elasticsearch基礎]-- Java連結elasticsearch的api

官方參考文檔:​​https://www.elastic.co/guide/en/elasticsearch/client/java-api/current/index.html​​

編寫java項目進行測試:

1\導入項目需要的elasticsearch----->jar包

[Elasticsearch基礎]-- Java連結elasticsearch的api
2\編寫測試類:TestJavaElasticsearch.java
首先在elasticsearch中建立索引
#建立索引
curl -XPOST http://hh15:9200/bjcom/employee/1 -d'
{
"first_name" : "John",
"last_name" : "Smith",
"age" : 25,
"about" : "I love to go rock climbing",
"interests": [ "sports", "music" ]
}'
 
編寫java類
package
import
import
import
import
import
import
import
import
import
import
import
public class
public static void main(String[] args) throws
settings
//設定elasticesearch的叢集名稱
"cluster.name", "hh15Elastic").build();
client = TransportClient.builder().settings(settings).build()
//端口号有時是9300,有時是9200,具體需要檢視啟動elasticsearch的log資訊中的transport值
new InetSocketTransportAddress(InetAddress.getByName("hh15"), 9300))
new InetSocketTransportAddress(InetAddress.getByName("hh16"), 9300))
new InetSocketTransportAddress(InetAddress.getByName("hh17"), 9300));
//索引是bjcom
response = client.prepareSearch("bjcom")
//type是employee
"employee")
DFS_QUERY_THEN_FETCH)
//注意字段需要全部為小寫,因為不區分大小寫
"first_name","john"))             // Query
"age").from(1).to(30))     // Filter,分頁大小
true)
                .execute()
                .actionGet();
hits = response.getHits();
hits1 = hits.getHits();
for(SearchHit hit : hits1){
           //傳回的json字元串
out.println("結果:"+hit.getSourceAsString());
        }
    }
}
 
運作