{}}>
+ {this.handleIndexTabChanged(activeKey, editingIndex.index)}}>
- green
- open
- 1
- 0
- 5
- 0
- 115.3kb
+ {editingIndex.health}
+ {editingIndex.status}
+ {editingIndex.shards}
+ {editingIndex.replicas}
+ {editingIndex.docs_count}
+ {editingIndex.docs_deleted}
+
@@ -441,140 +433,38 @@ class Index extends PureComponent {
-
-
-
- Content of Tab Pane 3
+
+
{JSON.stringify(this.props.index.mappings[editingIndex.index], null, 2)}
+
+
+ {/**/}
+ {/* Content of Tab Pane 3*/}
+ {/**/}
- Content of Tab Pane 3
+
+ Edit, then save your JSON
+
+
+
+
@@ -586,10 +476,10 @@ class Index extends PureComponent {
Delete
-
-
- Edit
-
+ {/**/}
+ {/* */}
+ {/* Edit*/}
+ {/**/}
Close
diff --git a/web/src/pages/DataManagement/models/index.js b/web/src/pages/DataManagement/models/index.js
new file mode 100644
index 00000000..7ef329bf
--- /dev/null
+++ b/web/src/pages/DataManagement/models/index.js
@@ -0,0 +1,92 @@
+import { getIndices,getMappings, getSettings, deleteIndex,
+updateSettings} from '@/services/indices';
+import { message } from 'antd';
+
+export default {
+ namespace: 'index',
+ state: {
+ clusterIndices: [],
+ mappings: {},
+ settings: {}
+ },
+ effects:{
+ *fetchIndices({payload}, {call, put}){
+ let resp = yield call(getIndices)
+ if(resp.status === false){
+ message.warn("获取数据失败")
+ return
+ }
+ yield put({
+ type: 'saveData',
+ payload: {
+ clusterIndices: resp.payload,
+ cluster: payload.cluster,
+ }
+ })
+ },
+ *fetchMappings({payload}, {call, put}){
+ let resp = yield call(getMappings, payload);
+ if(resp.status === false){
+ message.warn("get mappings failed")
+ return
+ }
+ yield put({
+ type: 'saveData',
+ payload: {
+ mappings: resp.payload,
+ }
+ })
+ },
+ *fetchSettings({payload}, {call, put}){
+ let resp = yield call(getSettings, payload);
+ if(resp.status === false){
+ message.warn("get settings failed")
+ return
+ }
+ yield put({
+ type: 'saveData',
+ payload: {
+ settings: resp.payload,
+ }
+ })
+ },
+ *saveSettings({payload}, {call, put, select}){
+ let resp = yield call(updateSettings, payload);
+ if(resp.status === false){
+ message.warn("save settings failed")
+ return
+ }
+ let {settings} = yield select(state=>state.index);
+ settings[payload.index] = payload.settings;
+ yield put({
+ type: 'saveData',
+ payload: {
+ settings
+ }
+ })
+ },
+ *removeIndex({payload}, {call, put, select}){
+ let resp = yield call(deleteIndex, payload);
+ if(resp.status === false){
+ message.warn("get mappings failed")
+ return
+ }
+ let {clusterIndices} = yield select(state=>state.index);
+ delete clusterIndices[payload.index];
+ yield put({
+ type: 'saveData',
+ payload: {
+ clusterIndices: clusterIndices,
+ }
+ })
+ }
+ },
+ reducers:{
+ saveData(state, {payload}){
+ return {
+ ...state,
+ ...payload,
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/web/src/services/indices.js b/web/src/services/indices.js
index 709da9a2..25b0457a 100644
--- a/web/src/services/indices.js
+++ b/web/src/services/indices.js
@@ -10,9 +10,34 @@ export async function getMappings(payload){
});
}
+export async function getSettings(payload){
+ let index = payload.index || '*'
+ let url = `${pathPrefix}/index/${index}/_settings`;
+ return request(url,{
+ method: 'GET',
+ expirys: 0,
+ });
+}
+
+export async function updateSettings(payload){
+ let index = payload.index
+ let url = `${pathPrefix}/index/${index}/_settings`;
+ return request(url,{
+ method: 'PUT',
+ body: payload.settings,
+ expirys: 0,
+ });
+}
export async function getIndices(params) {
return request(`${pathPrefix}/_cat/indices`, {
method: 'GET'
});
+}
+
+export async function deleteIndex(params) {
+ let index = params.index;
+ return request(`${pathPrefix}/index/${index}`, {
+ method: 'DELETE'
+ });
}
\ No newline at end of file