星海爭霸21全功能兌換碼新手獎勵1、7小時遊戲時間(14天內)解除所有試玩版本限制直到7小時耗盡,如種族、匹配模式、戰役、地圖等詳細資訊(150119更新)4505624695013984483730049
2020-11-30 03:45:43
在java中如何呼叫ElasticSearch,步驟同‘IK中文分詞的使用’中的步驟
建立用戶端連線
叢集名稱預設為elasticsearch,沒有修改過無需setting可以建立連線:
Client client = new TransportClient().addTransportAddress(new InetSocketTransportAddress("172.20.0.196", 9300));
如果修改過叢集的名稱:
Settings settings = ImmutableSettings.settingsBuilder()
.put("cluster.name", "elasticsearch_01").build();
Client client = new TransportClient(settings)
.addTransportAddress(new InetSocketTransportAddress("172.20.0.196", 9300));
建立索引
public void createIndex(String index){
client.admin().indices().create(new CreateIndexRequest(index)).actionGet();
// waitForYellow
client.admin().cluster().health(new ClusterHealthRequest(index)
.waitForYellowStatus())
.actionGet();
}
建立mapping,和curl中完全對應,同樣指定分析器為ik
public void createMapping(String index,String type) throws IOException{
XContentBuilder builder = XContentFactory.jsonBuilder()
.startObject()
.startObject(type)
.startObject("_all")
.field("indexAnalyzer", "ik")
.field("searchAnalyzer", "ik")
.field("term_vector", "no")
.field("store", "false")
.endObject()
.startObject("properties")
.startObject("content")
.field("type", "string")
.field("store", "no")
.field("term_vector", "with_positions_offsets")
.field("indexAnalyzer", "ik")
.field("searchAnalyzer", "ik")
.field("include_in_all", "true")
.field("boost", 9)
.endObject()
.endObject()
.endObject()
.endObject();
PutMappingRequest mapping = Requests.putMappingRequest(index).type(type).source(builder);
client.admin().indices().putMapping(mapping).actionGet();
}
索引一些資料,建立成功isCreated()返回true
public void createData(String index,String type){
List<String> jsondata = ElasticsearchTest.getInitJsonData();
for(int i=0; i<jsondata.size(); i++){
IndexResponse indexResp = client.prepareIndex()
.setIndex(index).setType(type).setId(i+1+"")
.setSource(jsondata.get(i)).execute().actionGet();
boolean isCreated = indexResp.isCreated();
System.out.println("是否成功建立資料isCreated:"+isCreated);
}
}
查詢資料方法
public void queryData(String index,String type){
QueryBuilder queryBuilder = QueryBuilders.termQuery("content", "中國");
SearchResponse searchResponse = client.prepareSearch(index).setTypes(type)
.setQuery(queryBuilder)
.execute()
.actionGet();
SearchHits hits = searchResponse.getHits();
System.out.println("查詢到記錄數:" + hits.getTotalHits());
SearchHit[] searchHists = hits.getHits();
for(SearchHit sh : searchHists){
System.out.println("content:"+sh.getSource().get("content"));
}
}
在main方法中呼叫
建立索引、mapping、資料
按條件查詢,顯示查詢結果。
同時可以開啟head介面檢視下執行效果
相關文章
星海爭霸21全功能兌換碼新手獎勵1、7小時遊戲時間(14天內)解除所有試玩版本限制直到7小時耗盡,如種族、匹配模式、戰役、地圖等詳細資訊(150119更新)4505624695013984483730049
2020-11-30 03:45:43
我們經常會玩決勝時刻戰區遊戲,但是有很多朋友不知道決勝時刻戰區國際服註冊方法,下面就詳細說下決勝時刻戰區國際服註冊方法。1首先我們開啟自己電腦中的瀏覽器,比如360瀏覽器
2020-11-29 16:08:59
決勝時刻黑色行動4的應用獲取的方法。1準備好網路的網速,開啟瀏覽器的頁面。 2決勝時刻黑色行動4將其輸入到搜尋頁中,點選搜尋。 3選擇圖中展示的決勝時刻黑色行動4中文版網頁
2020-11-29 16:06:30
決勝時刻是一個很好玩的遊戲,但是安裝過程比較困難,下面小編和你分享一下經驗! 1一般有很多個壓縮檔案的那種,任意解壓一個壓縮包之後會生成一個映象用虛擬光碟機載入,之後按用光
2020-11-29 10:07:32
小編教你決勝時刻9BO2.怎麼安裝,希望你的生活多姿多彩~ 1首先,你買的基本可以確定,是盜版,或者說所謂的偽正版——同學,多去steam吧或者戰地3吧看一看,會提高你對盜版/偽正版的鑑
2020-11-29 05:49:58
目前很多決勝時刻的玩家都在找版本10的中文版,其實現在正版的當中還沒有中文,退而求其次吧,小編這裡分享一些貼圖大家參考一下 1基礎選單,直接看圖片吧 2基礎選單,直接看圖片吧 3
2020-11-29 05:29:49