我有一個項目在Java中,我使用彈性搜索2.3.3索引數據。這些索引有兩種類型。刪除索引按索引名稱和類型使用elasticSearch 2.3.3在java
我的指數文檔的樣子:
{
"took": 10,
"timed_out": false,
"_shards": {
"total": 1,
"successful": 1,
"failed": 0
},
"hits": {
"total": 3,
"max_score": 1,
"hits": [
{
"_index": "test_index",
"_type": "movies",
"_id": "uReb0g9KSLKS18sTATdr3A",
"_score": 1,
"_source": {
"genre": "Thriller"
}
},
{
"_index": "test_index",
"_type": "drama",
"_id": "cReb0g9KSKLS18sTATdr3B",
"_score": 1,
"_source": {
"genre": "SuperNatural"
}
},
{
"_index": "index1",
"_type": "drama",
"_id": "cReb0g9KSKLS18sT76ng3B",
"_score": 1,
"_source": {
"genre": "Romance"
}
}
]
}
}
我需要刪除特定名稱的指標,只有輸入。
對於如: -從上面的文檔,我想刪除與名稱「的test_index」指標,並鍵入「劇」。
所以結果應該是這樣的:
{
"took": 10,
"timed_out": false,
"_shards": {
"total": 1,
"successful": 1,
"failed": 0
},
"hits": {
"total": 2,
"max_score": 1,
"hits": [
{
"_index": "test_index",
"_type": "movies",
"_id": "uReb0g9KSLKS18sTATdr3A",
"_score": 1,
"_source": {
"genre": "Thriller"
}
},
{
"_index": "index1",
"_type": "drama",
"_id": "cReb0g9KSKLS18sT76ng3B",
"_score": 1,
"_source": {
"genre": "Romance"
}
}
]
}
}
解決方案的嘗試:
client.admin()指數()刪除(新DeleteIndexRequest( 「的test_index」)actionGet(。 );
但是,刪除名稱爲 「的test_index」 兩個指數
我也試圖在感測試版插件喜歡各種查詢:
DELETE /的test_index /劇情
它給人的錯誤:沒有處理髮現的URI [/的test_index /劇情]和方法[刪除]
DELETE /的test_index /劇情/ _query q = _id:* & analyze_wildcard =真
它也不起作用。
當我在此時觸發刪除索引請求時,索引id對我們來說是未知的,我不得不按名稱和類型刪除索引。
如何使用java api刪除所需的索引?
您是否安裝了[刪除-通過查詢插件(HTTPS://www.elastic。CO /引導/ EN/elasticsearch /插件/ 2.3 /插件,刪除逐query.html)?最新的查詢適用於我,只刪除'test_index/drama'中的文檔。 – Val