diff --git a/lib/dbsearch.js b/lib/dbsearch.js index 0795f7e..365714e 100644 --- a/lib/dbsearch.js +++ b/lib/dbsearch.js @@ -413,6 +413,9 @@ async function getGlobalAndPluginData() { categories.buildForSelectAll(['value', 'text']), ]); + if (nconf.get('database') === 'mongo' && await searchModule.isPsmDb()) { + languageLookup.ngram = 'ngram(Only support in Percona Server for Mongodb'; + } const languageSupported = nconf.get('database') === 'mongo' || nconf.get('database') === 'postgres'; const languages = Object.keys(languageLookup).map(function (code) { return { name: languageLookup[code], value: code, selected: false }; diff --git a/lib/mongo.js b/lib/mongo.js index ae6ee1c..f399e46 100644 --- a/lib/mongo.js +++ b/lib/mongo.js @@ -113,3 +113,8 @@ exports.searchRemove = async function (key, ids) { await db.client.collection('search' + key).removeMany({ _id: { $in: ids } }); }; + +exports.isPsmDb = async function () { + const buildInfo = await db.client.command({ buildInfo: 1 }); + return !!buildInfo.psmdbVersion; +};