kibanaの戦闘活動とJava elasticsearc

ここで私は、私たちのプロジェクトのインデックスを設定し、マッピング
PUT / tgdsm /
{
"設定":{
"number_of_shards":3、
"number_of_replicas":1
}、
"マッピング":{
"のFileInfo":{
"プロパティ":{
" FILE_ID ":{
"タイプ":"テキスト"
}、
"ファイル名":{
"タイプ":"テキスト"
"分析":" ik_max_word"
}、
"USER_ID ":{
"タイプ":"テキスト"、
"アナライザ":" ik_max_word "
}、
" LastChangerTime ":{
"タイプ":" DATE "
}、
"ファイルサイズ":{
"タイプ":"ロング"
}、
"ファイル内容":{
"タイプ":"テキスト」、
"アナライザ": "ik_max_word"
}
}
}
}
}

クイズでJavaクラス
//追加操作
@Test
ます。public void esAddTest10()がスロー例外{
//ローカルストリーム情報ファイルを取得し
(FileInputStreamの入力=新しいFileInputStreamを(新しいファイル「D:\ 窓の月光の.docxの」) );
//ティカツールを使用して
文字列FILETEXT = TikaUtil.getFileText(INPUT);
//取得長い接続ES
のtransportClientのtransportClient ElasticsearchUtil.getClient =();
//任意のUUIDを取得
列randomUUID = UUID.randomUUID()toString()を.;
// ES操作の追加
XContentBuilderのDOC = XContentFactory.jsonBuilder()
.startObject()
選択図】図( "FILE_ID"、randomUUID)
選択図】図( "ファイル名"、 "ダム文明")
選択図】図( "ファイルサイズ"、718)
選択図】図を( "USER_ID"、 "パン長江")
選択図】図( "lastchangetime"、 "2012年10月28日")
選択図】図( "ファイル内容"、FILETEXT)
.endObject();
IndexResponseレスポンス= transportClient.prepareIndex( "tgdsm"、 "のFileInfo"、randomUUID).setSource(DOC)
に.get();
//正常に追加された場合を参照してください。ソルーシアが成功したことを追加することであるCREATE ----
するSystem.out.println( "=============" +のResponse.Status());
}
ここに画像を挿入説明

またはクライアントツールを得ることなく、このようなものです
@Test
ます。public void esAddTest9は()例外スロー{
//設定を取得
Settings.builder()。PUT( "=設定設定をcluster.name "、 "クラスタ・elasticsearch-のProd")。ビルドします();
//取得したクラスタクライアント
。のtransportClientクライアント=新しい新PreBuiltTransportClient(設定)
addTransportAddress(新新TransportAddress(InetAddress.getByName( "192.168.1.107")、9300))
.addTransportAddress(新新TransportAddress(InetAddress.getByName(「192.168.1.14 ")、9300));
//以下同じ
列randomUUID = UUID.randomUUID()のtoString();.
XContentBuilder DOC = XContentFactory.jsonBuilder()
.startObject()
選択図】図(" FILE_ID "randomUUID)
選択図】図("ファイル名「」遼寧省のダムの監督「)
選択図】図(「ファイルサイズ」、718)
選択図】図(「USER_ID」、「シェンテン」)
選択図】図(「lastchangetime」、「2012年10月28日」)
選択図】図(「ファイル内容」、「これは私ですああ偉大なフィクション小説の内容")。
.endObject();
IndexResponseレスポンス= client.prepareIndex(" tgdsm ""のFileInfo "randomUUID).setSource(DOC)
に.get();
System.out.printlnは(" == ===========「+のResponse.Status());
}

ここに画像を挿入説明

然后测试删除
@Test
public void esDel() throws UnknownHostException {
//获取setting
Settings settings=Settings.builder().put(“cluster.name”, “cluster-elasticsearch-prod”).build();
//获取集群client
TransportClient client=new PreBuiltTransportClient(settings).
addTransportAddress(new TransportAddress(InetAddress.getByName(“192.168.1.107”), 9300))
.addTransportAddress(new TransportAddress(InetAddress.getByName(“192.168.1.14”), 9300));

	DeleteResponse response=client.prepareDelete("tgdsm", "fileinfo", "1722fa48-fc24-4a34-b352-5c7debe4d11d").get();
	//如果结果是ok则删除成功
    System.out.println("------------"+response.status());
}

这里删除成功

然后是修改
项目有几个不同逻辑 一个是修改文件 一个是修改文件名 一个是文件名和文件都修改
第一种 修改文件名
@Test
public void testUpdate() throws UnknownHostException{
//获取setting
Settings settings=Settings.builder().put(“cluster.name”, “cluster-elasticsearch-prod”).build();
//获取集群client
TransportClient client=new PreBuiltTransportClient(settings).
addTransportAddress(new TransportAddress(InetAddress.getByName(“192.168.1.107”), 9300))
.addTransportAddress(new TransportAddress(InetAddress.getByName(“192.168.1.14”), 9300));
//需要更改的字段
JsonObject jsonObject=new JsonObject();
jsonObject.addProperty(“FileName”, “辽宁利勘察”);
UpdateResponse updateResponse = client
.prepareUpdate(“tgdsm”, “fileinfo”, “da04ce44-5508-457f-abc8-8f3ed0721b18”)
.setDoc(jsonObject.toString(), XContentType.JSON).get();
}
ここに画像を挿入説明

第二种修改正文内容
@Test
public void testUpdate2() throws IOException, TikaException{
//用本地文件获得一个流信息
FileInputStream input=new FileInputStream(new File(“D:\窗前明月光.docx”));
//用tika工具
String fileText = TikaUtil.getFileText(input);
//获取setting
Settings settings=Settings.builder().put(“cluster.name”, “cluster-elasticsearch-prod”).build();
//获取集群client
TransportClient client=new PreBuiltTransportClient(settings).
addTransportAddress(new TransportAddress(InetAddress.getByName(“192.168.1.107”), 9300))
.addTransportAddress(new TransportAddress(InetAddress.getByName(“192.168.1.14”), 9300));
//需要更改的字段
JsonObject jsonObject=new JsonObject();
jsonObject.addProperty(“file-contents”, fileText);
UpdateResponse updateResponse = client
.prepareUpdate(“tgdsm”, “fileinfo”, “de1d2f4e-48de-43ad-b432-db92e5db6373”)
.setDoc(jsonObject.toString(), XContentType.JSON).get();
}
ここに画像を挿入説明
然后就是修改正文和文件名的情况
/**
* 修改正文内容和文件名
* @throws TikaException
* @throws IOException
*/
@Test
public void testUpdate3() throws IOException, TikaException{
//用本地文件获得一个流信息
FileInputStream input=new FileInputStream(new File(“D:\取文超.docx”));
//用tika工具
String fileText = TikaUtil.getFileText(input);
//获取setting
Settings settings=Settings.builder().put(“cluster.name」、 『クラスタelasticsearch-PROD』)(ビルド)。
//获取集群クライアント
のtransportClientクライアント=新しいPreBuiltTransportClient(設定)。
addTransportAddress(新しいTransportAddress(InetAddress.getByName(「192.168.1.107」)、9300))
.addTransportAddress(新しいTransportAddress(InetAddress.getByName(「192.168.1.14」)、9300));
//需要更改的字段
JsonObject jsonObject =新しいJsonObject();
jsonObject.addProperty(「ファイル内容」、FILETEXT)。
jsonObject.addProperty(「ファイル名」、「景德镇利勘察」);
UpdateResponse updateResponse =クライアント
.prepareUpdate(「tgdsm」、「のFileInfo」、「de1d2f4e-48de-43ad-b432-db92e5db6373」)
.setDoc(jsonObject.toString()、XContentType.JSON)に.get();
}
ここに画像を挿入説明

おすすめ

転載: blog.csdn.net/qq_43077857/article/details/92561043