@vegan-friendly/strapi-plugin-elasticsearch 0.1.0-alpha.2 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/admin/index.d.ts +8 -0
- package/dist/admin/index.js +92 -0
- package/dist/admin/pluginId.d.ts +2 -0
- package/dist/admin/pluginId.js +8 -0
- package/dist/admin/src/components/Initializer/index.js +2 -1
- package/dist/admin/src/components/SubNavigation/index.js +10 -8
- package/dist/admin/src/pages/ConfigureCollectionList/index.js +40 -28
- package/dist/admin/src/pages/Homepage/index.js +20 -21
- package/dist/admin/src/pluginId.d.ts +1 -1
- package/dist/admin/src/utils/apiUrls.js +1 -0
- package/dist/admin/src/utils/axiosInstance.js +1 -2
- package/dist/package.json +63 -0
- package/dist/server/bootstrap.d.ts +4 -0
- package/dist/server/bootstrap.js +3 -3
- package/dist/server/config/index.d.ts +5 -0
- package/dist/server/config/index.js +2 -1
- package/dist/server/content-types/index.d.ts +83 -2
- package/dist/server/content-types/index.js +9 -5
- package/dist/server/content-types/indexing-logs.d.ts +32 -0
- package/dist/server/content-types/indexing-logs.js +22 -24
- package/dist/server/content-types/tasks.d.ts +46 -0
- package/dist/server/content-types/tasks.js +33 -38
- package/dist/server/controllers/configure-indexing.d.ts +11 -0
- package/dist/server/controllers/configure-indexing.js +3 -2
- package/dist/server/controllers/index.d.ts +33 -5
- package/dist/server/controllers/index.js +15 -11
- package/dist/server/controllers/log-indexing.d.ts +6 -0
- package/dist/server/controllers/log-indexing.js +3 -2
- package/dist/server/controllers/perform-indexing.d.ts +8 -0
- package/dist/server/controllers/perform-indexing.js +3 -2
- package/dist/server/controllers/perform-search.d.ts +4 -1
- package/dist/server/controllers/perform-search.js +11 -8
- package/dist/server/controllers/setup-info.d.ts +6 -0
- package/dist/server/controllers/setup-info.js +2 -1
- package/dist/server/destroy.d.ts +4 -0
- package/dist/server/destroy.js +2 -1
- package/dist/server/index.d.ts +312 -10
- package/dist/server/index.js +25 -21
- package/dist/server/middlewares/index.d.ts +2 -0
- package/dist/server/middlewares/index.js +2 -1
- package/dist/server/policies/index.d.ts +2 -0
- package/dist/server/policies/index.js +2 -1
- package/dist/server/register.d.ts +4 -0
- package/dist/server/register.js +2 -1
- package/dist/server/routes/configure-indexing.d.ts +12 -0
- package/dist/server/routes/configure-indexing.js +2 -1
- package/dist/server/routes/index.d.ts +58 -5
- package/dist/server/routes/index.js +15 -11
- package/dist/server/routes/perform-indexing.d.ts +12 -0
- package/dist/server/routes/perform-indexing.js +2 -1
- package/dist/server/routes/perform-search.d.ts +12 -0
- package/dist/server/routes/perform-search.js +4 -3
- package/dist/server/routes/run-log.d.ts +12 -0
- package/dist/server/routes/run-log.js +3 -2
- package/dist/server/routes/setup-info.d.ts +12 -0
- package/dist/server/routes/setup-info.js +3 -2
- package/dist/server/services/configure-indexing.d.ts +23 -23
- package/dist/server/services/configure-indexing.js +30 -18
- package/dist/server/services/es-interface.d.ts +27 -4
- package/dist/server/services/es-interface.js +13 -14
- package/dist/server/services/helper.d.ts +34 -33
- package/dist/server/services/helper.js +31 -23
- package/dist/server/services/index.d.ts +124 -7
- package/dist/server/services/index.js +19 -15
- package/dist/server/services/log-indexing.d.ts +8 -0
- package/dist/server/services/log-indexing.js +8 -7
- package/dist/server/services/perform-indexing.d.ts +8 -0
- package/dist/server/services/perform-indexing.js +29 -16
- package/dist/server/services/schedule-indexing.d.ts +19 -0
- package/dist/server/services/schedule-indexing.js +13 -12
- package/dist/server/services/transform-content.d.ts +7 -2
- package/dist/server/services/transform-content.js +4 -3
- package/package.json +4 -2
- package/dist/strapi-admin.d.ts +0 -0
- package/dist/strapi-admin.js +0 -2
- package/dist/strapi-server.d.ts +0 -0
- package/dist/strapi-server.js +0 -2
@@ -1,24 +1,24 @@
|
|
1
|
-
declare const
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
}
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
}
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
}>): Promise<void>;
|
1
|
+
declare const _default: ({ strapi }: {
|
2
|
+
strapi: any;
|
3
|
+
}) => {
|
4
|
+
initializeStrapiElasticsearch(): Promise<void>;
|
5
|
+
markInitialized(): Promise<void>;
|
6
|
+
isInitialized(): any;
|
7
|
+
cacheConfig(): Promise<void>;
|
8
|
+
getCollectionConfig({ collectionName }: {
|
9
|
+
collectionName: any;
|
10
|
+
}): Promise<{} | null>;
|
11
|
+
getCollectionsConfiguredForIndexing(): Promise<string[]>;
|
12
|
+
isCollectionConfiguredToBeIndexed({ collectionName }: {
|
13
|
+
collectionName: any;
|
14
|
+
}): Promise<boolean>;
|
15
|
+
getContentConfig(): Promise<any>;
|
16
|
+
importContentConfig({ config }: {
|
17
|
+
config: any;
|
18
|
+
}): Promise<any>;
|
19
|
+
setContentConfig({ collection, config }: {
|
20
|
+
collection: any;
|
21
|
+
config: any;
|
22
|
+
}): Promise<any>;
|
24
23
|
};
|
24
|
+
export default _default;
|
@@ -1,4 +1,5 @@
|
|
1
1
|
'use strict';
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
2
3
|
const getPluginStore = () => {
|
3
4
|
return strapi.store({
|
4
5
|
environment: '',
|
@@ -6,7 +7,7 @@ const getPluginStore = () => {
|
|
6
7
|
name: 'elasticsearch',
|
7
8
|
});
|
8
9
|
};
|
9
|
-
|
10
|
+
exports.default = ({ strapi }) => ({
|
10
11
|
async initializeStrapiElasticsearch() {
|
11
12
|
await this.cacheConfig();
|
12
13
|
},
|
@@ -16,8 +17,7 @@ module.exports = ({ strapi }) => ({
|
|
16
17
|
strapi.elasticsearch.initialized = true;
|
17
18
|
},
|
18
19
|
isInitialized() {
|
19
|
-
|
20
|
-
return ((_a = strapi.elasticsearch) === null || _a === void 0 ? void 0 : _a.initialized) || false;
|
20
|
+
return strapi.elasticsearch?.initialized || false;
|
21
21
|
},
|
22
22
|
async cacheConfig() {
|
23
23
|
if (!strapi.elasticsearch)
|
@@ -57,7 +57,14 @@ module.exports = ({ strapi }) => ({
|
|
57
57
|
return collectionsToIndex.includes(collectionName);
|
58
58
|
},
|
59
59
|
async getContentConfig() {
|
60
|
-
const fieldsToExclude = [
|
60
|
+
const fieldsToExclude = [
|
61
|
+
'createdAt',
|
62
|
+
'createdBy',
|
63
|
+
'publishedAt',
|
64
|
+
'publishedBy',
|
65
|
+
'updatedAt',
|
66
|
+
'updatedBy',
|
67
|
+
];
|
61
68
|
const pluginStore = getPluginStore();
|
62
69
|
const settings = await pluginStore.get({ key: 'configsettings' });
|
63
70
|
const contentTypes = strapi.contentTypes;
|
@@ -69,16 +76,18 @@ module.exports = ({ strapi }) => ({
|
|
69
76
|
const listOfAttributes = Object.keys(collectionAttributes).filter((i) => fieldsToExclude.includes(i) === false);
|
70
77
|
for (let k = 0; k < listOfAttributes.length; k++) {
|
71
78
|
const currentAttribute = listOfAttributes[k];
|
72
|
-
let attributeType =
|
73
|
-
if (typeof collectionAttributes[currentAttribute][
|
74
|
-
|
75
|
-
if (collectionAttributes[currentAttribute][
|
76
|
-
attributeType =
|
77
|
-
else if (collectionAttributes[currentAttribute][
|
78
|
-
attributeType =
|
79
|
+
let attributeType = 'regular';
|
80
|
+
if (typeof collectionAttributes[currentAttribute]['type'] !== 'undefined' &&
|
81
|
+
collectionAttributes[currentAttribute]['type'] !== null) {
|
82
|
+
if (collectionAttributes[currentAttribute]['type'] === 'component')
|
83
|
+
attributeType = 'component';
|
84
|
+
else if (collectionAttributes[currentAttribute]['type'] === 'dynamiczone')
|
85
|
+
attributeType = 'dynamiczone';
|
79
86
|
}
|
80
|
-
apiContentConfig[apiContentTypes[r]][listOfAttributes[k]] = {
|
81
|
-
|
87
|
+
apiContentConfig[apiContentTypes[r]][listOfAttributes[k]] = {
|
88
|
+
index: false,
|
89
|
+
type: attributeType,
|
90
|
+
};
|
82
91
|
}
|
83
92
|
}
|
84
93
|
if (settings) {
|
@@ -90,12 +99,15 @@ module.exports = ({ strapi }) => ({
|
|
90
99
|
const attribsForCollection = Object.keys(apiContentConfig[collections[r]]);
|
91
100
|
for (let s = 0; s < attribsForCollection.length; s++) {
|
92
101
|
if (!Object.keys(objSettings['contentConfig'][collections[r]]).includes(attribsForCollection[s])) {
|
93
|
-
objSettings['contentConfig'][collections[r]][attribsForCollection[s]] = {
|
94
|
-
|
102
|
+
objSettings['contentConfig'][collections[r]][attribsForCollection[s]] = {
|
103
|
+
index: false,
|
104
|
+
type: apiContentConfig[collections[r]][attribsForCollection[s]].type,
|
105
|
+
};
|
95
106
|
}
|
96
107
|
else {
|
97
108
|
if (!Object.keys(objSettings['contentConfig'][collections[r]][attribsForCollection[s]]).includes('type'))
|
98
|
-
objSettings['contentConfig'][collections[r]][attribsForCollection[s]]['type'] =
|
109
|
+
objSettings['contentConfig'][collections[r]][attribsForCollection[s]]['type'] =
|
110
|
+
apiContentConfig[collections[r]][attribsForCollection[s]].type;
|
99
111
|
}
|
100
112
|
}
|
101
113
|
}
|
@@ -120,7 +132,7 @@ module.exports = ({ strapi }) => ({
|
|
120
132
|
await pluginStore.set({ key: 'configsettings', value: stringifySettings });
|
121
133
|
}
|
122
134
|
else {
|
123
|
-
const newSettings = JSON.stringify({
|
135
|
+
const newSettings = JSON.stringify({ contentConfig: config });
|
124
136
|
await pluginStore.set({ key: 'configsettings', value: newSettings });
|
125
137
|
}
|
126
138
|
const updatedSettings = await pluginStore.get({ key: 'configsettings' });
|
@@ -148,7 +160,7 @@ module.exports = ({ strapi }) => ({
|
|
148
160
|
await pluginStore.set({ key: 'configsettings', value: stringifySettings });
|
149
161
|
}
|
150
162
|
else {
|
151
|
-
const newSettings = JSON.stringify({
|
163
|
+
const newSettings = JSON.stringify({ contentConfig: config });
|
152
164
|
await pluginStore.set({ key: 'configsettings', value: newSettings });
|
153
165
|
}
|
154
166
|
const updatedSettings = await pluginStore.get({ key: 'configsettings' });
|
@@ -1,4 +1,27 @@
|
|
1
|
-
declare const
|
2
|
-
|
3
|
-
|
4
|
-
|
1
|
+
declare const _default: ({ strapi }: {
|
2
|
+
strapi: any;
|
3
|
+
}) => {
|
4
|
+
initializeSearchEngine({ host, uname, password, cert }: {
|
5
|
+
host: any;
|
6
|
+
uname: any;
|
7
|
+
password: any;
|
8
|
+
cert: any;
|
9
|
+
}): Promise<void>;
|
10
|
+
createIndex(indexName: any): Promise<void>;
|
11
|
+
deleteIndex(indexName: any): Promise<void>;
|
12
|
+
attachAliasToIndex(indexName: any): Promise<void>;
|
13
|
+
checkESConnection(): Promise<boolean>;
|
14
|
+
indexDataToSpecificIndex({ itemId, itemData }: {
|
15
|
+
itemId: any;
|
16
|
+
itemData: any;
|
17
|
+
}, iName: any): Promise<void>;
|
18
|
+
indexData({ itemId, itemData }: {
|
19
|
+
itemId: any;
|
20
|
+
itemData: any;
|
21
|
+
}): Promise<void>;
|
22
|
+
removeItemFromIndex({ itemId }: {
|
23
|
+
itemId: any;
|
24
|
+
}): Promise<void>;
|
25
|
+
searchData(searchQuery: any): Promise<any>;
|
26
|
+
};
|
27
|
+
export default _default;
|
@@ -1,21 +1,20 @@
|
|
1
1
|
"use strict";
|
2
|
-
|
3
|
-
const
|
4
|
-
const path = require('path');
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
const elasticsearch_1 = require("@elastic/elasticsearch");
|
5
4
|
let client = null;
|
6
|
-
|
5
|
+
exports.default = ({ strapi }) => ({
|
7
6
|
async initializeSearchEngine({ host, uname, password, cert }) {
|
8
7
|
try {
|
9
|
-
client = new Client({
|
8
|
+
client = new elasticsearch_1.Client({
|
10
9
|
node: host,
|
11
10
|
auth: {
|
12
11
|
username: uname,
|
13
|
-
password: password
|
12
|
+
password: password,
|
14
13
|
},
|
15
14
|
tls: {
|
16
15
|
ca: cert,
|
17
|
-
rejectUnauthorized: false
|
18
|
-
}
|
16
|
+
rejectUnauthorized: false,
|
17
|
+
},
|
19
18
|
});
|
20
19
|
}
|
21
20
|
catch (err) {
|
@@ -27,7 +26,7 @@ module.exports = ({ strapi }) => ({
|
|
27
26
|
console.error('strapi-plugin-elasticsearch : Error while initializing connection to ElasticSearch.');
|
28
27
|
console.error(err);
|
29
28
|
}
|
30
|
-
throw
|
29
|
+
throw err;
|
31
30
|
}
|
32
31
|
},
|
33
32
|
async createIndex(indexName) {
|
@@ -54,7 +53,7 @@ module.exports = ({ strapi }) => ({
|
|
54
53
|
async deleteIndex(indexName) {
|
55
54
|
try {
|
56
55
|
await client.indices.delete({
|
57
|
-
index: indexName
|
56
|
+
index: indexName,
|
58
57
|
});
|
59
58
|
}
|
60
59
|
catch (err) {
|
@@ -112,7 +111,7 @@ module.exports = ({ strapi }) => ({
|
|
112
111
|
await client.index({
|
113
112
|
index: iName,
|
114
113
|
id: itemId,
|
115
|
-
document: itemData
|
114
|
+
document: itemData,
|
116
115
|
});
|
117
116
|
await client.indices.refresh({ index: iName });
|
118
117
|
}
|
@@ -131,7 +130,7 @@ module.exports = ({ strapi }) => ({
|
|
131
130
|
try {
|
132
131
|
await client.delete({
|
133
132
|
index: pluginConfig.indexAliasName,
|
134
|
-
id: itemId
|
133
|
+
id: itemId,
|
135
134
|
});
|
136
135
|
await client.indices.refresh({ index: pluginConfig.indexAliasName });
|
137
136
|
}
|
@@ -149,7 +148,7 @@ module.exports = ({ strapi }) => ({
|
|
149
148
|
const pluginConfig = await strapi.config.get('plugin.elasticsearch');
|
150
149
|
const result = await client.search({
|
151
150
|
index: pluginConfig.indexAliasName,
|
152
|
-
...searchQuery
|
151
|
+
...searchQuery,
|
153
152
|
});
|
154
153
|
return result;
|
155
154
|
}
|
@@ -157,5 +156,5 @@ module.exports = ({ strapi }) => ({
|
|
157
156
|
console.log('Search : elasticClient.searchData : Error encountered while making a search request to ElasticSearch.');
|
158
157
|
throw err;
|
159
158
|
}
|
160
|
-
}
|
159
|
+
},
|
161
160
|
});
|
@@ -1,34 +1,35 @@
|
|
1
|
-
declare const
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
}
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
1
|
+
declare const _default: ({ strapi }: {
|
2
|
+
strapi: any;
|
3
|
+
}) => {
|
4
|
+
getElasticsearchInfo(): Promise<{
|
5
|
+
indexingCronSchedule: any;
|
6
|
+
elasticHost: any;
|
7
|
+
elasticUserName: any;
|
8
|
+
elasticCertificate: any;
|
9
|
+
elasticIndexAlias: any;
|
10
|
+
connected: any;
|
11
|
+
initialized: any;
|
12
|
+
}>;
|
13
|
+
isCollectionDraftPublish({ collectionName }: {
|
14
|
+
collectionName: any;
|
15
|
+
}): boolean;
|
16
|
+
getPopulateAttribute({ collectionName }: {
|
17
|
+
collectionName: any;
|
18
|
+
}): true | {
|
19
|
+
populate: never;
|
20
|
+
} | undefined;
|
21
|
+
getIndexItemId({ collectionName, itemId }: {
|
22
|
+
collectionName: any;
|
23
|
+
itemId: any;
|
24
|
+
}): string;
|
25
|
+
getCurrentIndexName(): Promise<string>;
|
26
|
+
getIncrementedIndexName(): Promise<string>;
|
27
|
+
storeCurrentIndexName(indexName: any): Promise<void>;
|
28
|
+
modifySubfieldsConfigForExtractor(collectionConfig: any): any;
|
29
|
+
extractDataToIndex({ collectionName, data, collectionConfig }: {
|
30
|
+
collectionName: any;
|
31
|
+
data: any;
|
32
|
+
collectionConfig: any;
|
33
|
+
}): {};
|
26
34
|
};
|
27
|
-
|
28
|
-
declare const getFullPopulateObject: (modelUid: any, maxDepth: number | undefined, ignore: any) => true | {
|
29
|
-
populate: {};
|
30
|
-
} | undefined;
|
31
|
-
declare function extractSubfieldData({ config, data }: {
|
32
|
-
config: any;
|
33
|
-
data: any;
|
34
|
-
}): string;
|
35
|
+
export default _default;
|
@@ -1,7 +1,11 @@
|
|
1
1
|
"use strict";
|
2
2
|
///START : via https://raw.githubusercontent.com/Barelydead/strapi-plugin-populate-deep/main/server/helpers/index.js
|
3
|
-
|
4
|
-
|
3
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
4
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
5
|
+
};
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
7
|
+
const fp_1 = require("lodash/fp");
|
8
|
+
const transform_content_1 = __importDefault(require("./transform-content"));
|
5
9
|
const getPluginStore = () => {
|
6
10
|
return strapi.store({
|
7
11
|
environment: '',
|
@@ -29,7 +33,7 @@ const getFullPopulateObject = (modelUid, maxDepth = 20, ignore) => {
|
|
29
33
|
if (ignore && !ignore.includes(model.collectionName))
|
30
34
|
ignore.push(model.collectionName);
|
31
35
|
for (const [key, value] of Object.entries(getModelPopulationAttributes(model))) {
|
32
|
-
if (ignore
|
36
|
+
if (ignore?.includes(key))
|
33
37
|
continue;
|
34
38
|
if (value) {
|
35
39
|
if (value.type === "component") {
|
@@ -38,9 +42,9 @@ const getFullPopulateObject = (modelUid, maxDepth = 20, ignore) => {
|
|
38
42
|
else if (value.type === "dynamiczone") {
|
39
43
|
const dynamicPopulate = value.components.reduce((prev, cur) => {
|
40
44
|
const curPopulate = getFullPopulateObject(cur, maxDepth - 1);
|
41
|
-
return curPopulate === true ? prev : merge(prev, curPopulate);
|
45
|
+
return curPopulate === true ? prev : (0, fp_1.merge)(prev, curPopulate);
|
42
46
|
}, {});
|
43
|
-
populate[key] = isEmpty(dynamicPopulate) ? true : dynamicPopulate;
|
47
|
+
populate[key] = (0, fp_1.isEmpty)(dynamicPopulate) ? true : dynamicPopulate;
|
44
48
|
}
|
45
49
|
else if (value.type === "relation") {
|
46
50
|
const relationPopulate = getFullPopulateObject(value.target, (key === 'localizations') && maxDepth > 2 ? 1 : maxDepth - 1, ignore);
|
@@ -53,7 +57,7 @@ const getFullPopulateObject = (modelUid, maxDepth = 20, ignore) => {
|
|
53
57
|
}
|
54
58
|
}
|
55
59
|
}
|
56
|
-
return isEmpty(populate) ? true : { populate };
|
60
|
+
return (0, fp_1.isEmpty)(populate) ? true : { populate };
|
57
61
|
};
|
58
62
|
///END : via https://raw.githubusercontent.com/Barelydead/strapi-plugin-populate-deep/main/server/helpers/index.js
|
59
63
|
/*
|
@@ -109,7 +113,7 @@ function extractSubfieldData({ config, data }) {
|
|
109
113
|
let val = extractItem[conf['field']];
|
110
114
|
if (Object.keys(conf).includes('transform')
|
111
115
|
&& conf['transform'] === 'markdown')
|
112
|
-
val =
|
116
|
+
val = transform_content_1.default.transform({ content: val, from: 'markdown' });
|
113
117
|
returnData = returnData + '\n' + val;
|
114
118
|
}
|
115
119
|
else if (conf.component === extractItem.__component &&
|
@@ -126,7 +130,7 @@ function extractSubfieldData({ config, data }) {
|
|
126
130
|
let val = extractItem[conf['field']];
|
127
131
|
if (Object.keys(conf).includes('transform')
|
128
132
|
&& conf['transform'] === 'markdown')
|
129
|
-
val =
|
133
|
+
val = transform_content_1.default.transform({ content: val, from: 'markdown' });
|
130
134
|
returnData = returnData + '\n' + val;
|
131
135
|
}
|
132
136
|
else if (Object.keys(conf).includes('subfields')) {
|
@@ -155,24 +159,28 @@ function extractSubfieldData({ config, data }) {
|
|
155
159
|
}
|
156
160
|
return returnData;
|
157
161
|
}
|
158
|
-
|
162
|
+
exports.default = ({ strapi }) => ({
|
159
163
|
async getElasticsearchInfo() {
|
160
164
|
const configureService = strapi.plugins['elasticsearch'].services.configureIndexing;
|
161
165
|
const esInterface = strapi.plugins['elasticsearch'].services.esInterface;
|
162
166
|
const pluginConfig = await strapi.config.get('plugin.elasticsearch');
|
163
167
|
const connected = pluginConfig.searchConnector && pluginConfig.searchConnector.host
|
164
|
-
? await esInterface.checkESConnection()
|
168
|
+
? await esInterface.checkESConnection()
|
169
|
+
: false;
|
165
170
|
return {
|
166
|
-
indexingCronSchedule: pluginConfig.indexingCronSchedule ||
|
167
|
-
elasticHost: pluginConfig.searchConnector
|
168
|
-
pluginConfig.searchConnector.host ||
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
171
|
+
indexingCronSchedule: pluginConfig.indexingCronSchedule || 'Not configured',
|
172
|
+
elasticHost: pluginConfig.searchConnector
|
173
|
+
? pluginConfig.searchConnector.host || 'Not configured'
|
174
|
+
: 'Not configured',
|
175
|
+
elasticUserName: pluginConfig.searchConnector
|
176
|
+
? pluginConfig.searchConnector.username || 'Not configured'
|
177
|
+
: 'Not configured',
|
178
|
+
elasticCertificate: pluginConfig.searchConnector
|
179
|
+
? pluginConfig.searchConnector.certificate || 'Not configured'
|
180
|
+
: 'Not configured',
|
181
|
+
elasticIndexAlias: pluginConfig.indexAliasName || 'Not configured',
|
174
182
|
connected: connected,
|
175
|
-
initialized: configureService.isInitialized()
|
183
|
+
initialized: configureService.isInitialized(),
|
176
184
|
};
|
177
185
|
},
|
178
186
|
isCollectionDraftPublish({ collectionName }) {
|
@@ -210,11 +218,11 @@ module.exports = ({ strapi }) => ({
|
|
210
218
|
const settings = await pluginStore.get({ key: 'configsettings' });
|
211
219
|
if (settings) {
|
212
220
|
const objSettings = JSON.parse(settings);
|
213
|
-
objSettings['indexConfig'] = {
|
221
|
+
objSettings['indexConfig'] = { name: indexName };
|
214
222
|
await pluginStore.set({ key: 'configsettings', value: JSON.stringify(objSettings) });
|
215
223
|
}
|
216
224
|
else {
|
217
|
-
const newSettings = JSON.stringify({
|
225
|
+
const newSettings = JSON.stringify({ indexConfig: { name: indexName } });
|
218
226
|
await pluginStore.set({ key: 'configsettings', value: newSettings });
|
219
227
|
}
|
220
228
|
},
|
@@ -256,7 +264,7 @@ module.exports = ({ strapi }) => ({
|
|
256
264
|
val = data[fti[k]];
|
257
265
|
if (Object.keys(fieldConfig).includes('transform') &&
|
258
266
|
fieldConfig['transform'] === 'markdown')
|
259
|
-
val =
|
267
|
+
val = transform_content_1.default.transform({ content: val, from: 'markdown' });
|
260
268
|
}
|
261
269
|
if (Object.keys(fieldConfig).includes('searchFieldName'))
|
262
270
|
document[fieldConfig['searchFieldName']] = val;
|
@@ -265,5 +273,5 @@ module.exports = ({ strapi }) => ({
|
|
265
273
|
}
|
266
274
|
}
|
267
275
|
return document;
|
268
|
-
}
|
276
|
+
},
|
269
277
|
});
|
@@ -1,7 +1,124 @@
|
|
1
|
-
declare const
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
1
|
+
declare const _default: {
|
2
|
+
configureIndexing: ({ strapi }: {
|
3
|
+
strapi: any;
|
4
|
+
}) => {
|
5
|
+
initializeStrapiElasticsearch(): Promise<void>;
|
6
|
+
markInitialized(): Promise<void>;
|
7
|
+
isInitialized(): any;
|
8
|
+
cacheConfig(): Promise<void>;
|
9
|
+
getCollectionConfig({ collectionName }: {
|
10
|
+
collectionName: any;
|
11
|
+
}): Promise<{} | null>;
|
12
|
+
getCollectionsConfiguredForIndexing(): Promise<string[]>;
|
13
|
+
isCollectionConfiguredToBeIndexed({ collectionName }: {
|
14
|
+
collectionName: any;
|
15
|
+
}): Promise<boolean>;
|
16
|
+
getContentConfig(): Promise<any>;
|
17
|
+
importContentConfig({ config }: {
|
18
|
+
config: any;
|
19
|
+
}): Promise<any>;
|
20
|
+
setContentConfig({ collection, config }: {
|
21
|
+
collection: any;
|
22
|
+
config: any;
|
23
|
+
}): Promise<any>;
|
24
|
+
};
|
25
|
+
scheduleIndexing: ({ strapi }: {
|
26
|
+
strapi: any;
|
27
|
+
}) => {
|
28
|
+
addFullSiteIndexingTask(): Promise<any>;
|
29
|
+
addCollectionToIndex({ collectionUid }: {
|
30
|
+
collectionUid: any;
|
31
|
+
}): Promise<any>;
|
32
|
+
addItemToIndex({ collectionUid, recordId }: {
|
33
|
+
collectionUid: any;
|
34
|
+
recordId: any;
|
35
|
+
}): Promise<any>;
|
36
|
+
removeItemFromIndex({ collectionUid, recordId }: {
|
37
|
+
collectionUid: any;
|
38
|
+
recordId: any;
|
39
|
+
}): Promise<void>;
|
40
|
+
getItemsPendingToBeIndexed(): Promise<any>;
|
41
|
+
markIndexingTaskComplete(recId: any): Promise<void>;
|
42
|
+
};
|
43
|
+
esInterface: ({ strapi }: {
|
44
|
+
strapi: any;
|
45
|
+
}) => {
|
46
|
+
initializeSearchEngine({ host, uname, password, cert }: {
|
47
|
+
host: any;
|
48
|
+
uname: any;
|
49
|
+
password: any;
|
50
|
+
cert: any;
|
51
|
+
}): Promise<void>;
|
52
|
+
createIndex(indexName: any): Promise<void>;
|
53
|
+
deleteIndex(indexName: any): Promise<void>;
|
54
|
+
attachAliasToIndex(indexName: any): Promise<void>;
|
55
|
+
checkESConnection(): Promise<boolean>;
|
56
|
+
indexDataToSpecificIndex({ itemId, itemData }: {
|
57
|
+
itemId: any;
|
58
|
+
itemData: any;
|
59
|
+
}, iName: any): Promise<void>;
|
60
|
+
indexData({ itemId, itemData }: {
|
61
|
+
itemId: any;
|
62
|
+
itemData: any;
|
63
|
+
}): Promise<void>;
|
64
|
+
removeItemFromIndex({ itemId }: {
|
65
|
+
itemId: any;
|
66
|
+
}): Promise<void>;
|
67
|
+
searchData(searchQuery: any): Promise<any>;
|
68
|
+
};
|
69
|
+
indexer: ({ strapi }: {
|
70
|
+
strapi: any;
|
71
|
+
}) => {
|
72
|
+
rebuildIndex(): Promise<boolean | undefined>;
|
73
|
+
indexCollection(collectionName: any, indexName?: null): Promise<boolean>;
|
74
|
+
indexPendingData(): Promise<boolean>;
|
75
|
+
};
|
76
|
+
logIndexing: ({ strapi }: {
|
77
|
+
strapi: any;
|
78
|
+
}) => {
|
79
|
+
recordIndexingPass(message: any): Promise<void>;
|
80
|
+
recordIndexingFail(message: any): Promise<void>;
|
81
|
+
fetchIndexingLogs(count?: number): Promise<any>;
|
82
|
+
};
|
83
|
+
helper: ({ strapi }: {
|
84
|
+
strapi: any;
|
85
|
+
}) => {
|
86
|
+
getElasticsearchInfo(): Promise<{
|
87
|
+
indexingCronSchedule: any;
|
88
|
+
elasticHost: any;
|
89
|
+
elasticUserName: any;
|
90
|
+
elasticCertificate: any;
|
91
|
+
elasticIndexAlias: any;
|
92
|
+
connected: any;
|
93
|
+
initialized: any;
|
94
|
+
}>;
|
95
|
+
isCollectionDraftPublish({ collectionName }: {
|
96
|
+
collectionName: any;
|
97
|
+
}): boolean;
|
98
|
+
getPopulateAttribute({ collectionName }: {
|
99
|
+
collectionName: any;
|
100
|
+
}): true | {
|
101
|
+
populate: never;
|
102
|
+
} | undefined;
|
103
|
+
getIndexItemId({ collectionName, itemId }: {
|
104
|
+
collectionName: any;
|
105
|
+
itemId: any;
|
106
|
+
}): string;
|
107
|
+
getCurrentIndexName(): Promise<string>;
|
108
|
+
getIncrementedIndexName(): Promise<string>;
|
109
|
+
storeCurrentIndexName(indexName: any): Promise<void>;
|
110
|
+
modifySubfieldsConfigForExtractor(collectionConfig: any): any;
|
111
|
+
extractDataToIndex({ collectionName, data, collectionConfig }: {
|
112
|
+
collectionName: any;
|
113
|
+
data: any;
|
114
|
+
collectionConfig: any;
|
115
|
+
}): {};
|
116
|
+
};
|
117
|
+
transformContent: {
|
118
|
+
transform({ content, from }: {
|
119
|
+
content: any;
|
120
|
+
from: any;
|
121
|
+
}): any;
|
122
|
+
};
|
123
|
+
};
|
124
|
+
export default _default;
|
@@ -1,17 +1,21 @@
|
|
1
1
|
'use strict';
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
const
|
7
|
-
const
|
8
|
-
const
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
|
+
};
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
+
const configure_indexing_1 = __importDefault(require("./configure-indexing"));
|
7
|
+
const schedule_indexing_1 = __importDefault(require("./schedule-indexing"));
|
8
|
+
const es_interface_1 = __importDefault(require("./es-interface"));
|
9
|
+
const perform_indexing_1 = __importDefault(require("./perform-indexing"));
|
10
|
+
const log_indexing_1 = __importDefault(require("./log-indexing"));
|
11
|
+
const helper_1 = __importDefault(require("./helper"));
|
12
|
+
const transform_content_1 = __importDefault(require("./transform-content"));
|
13
|
+
exports.default = {
|
14
|
+
configureIndexing: configure_indexing_1.default,
|
15
|
+
scheduleIndexing: schedule_indexing_1.default,
|
16
|
+
esInterface: es_interface_1.default,
|
17
|
+
indexer: perform_indexing_1.default,
|
18
|
+
logIndexing: log_indexing_1.default,
|
19
|
+
helper: helper_1.default,
|
20
|
+
transformContent: transform_content_1.default,
|
17
21
|
};
|