Merge pull request #390 from westlywright/master

bug fixes search
This commit is contained in:
Vincent Fiduccia
2018-07-03 14:54:59 -07:00
committed by GitHub
4 changed files with 18 additions and 20 deletions
+1 -1
View File
@@ -56,7 +56,7 @@ pipeline:
tag: latest
secrets: [docker_username, docker_password, algolia_app_id, algolia_admin_key]
environment:
- ALGOLIA_INDEX_NAME="dev_docs"
- ALGOLIA_INDEX_NAME="prod_docs"
- ALGOLIA_INDEX_FILE="public/algolia.json"
build_args_from_env:
- ALGOLIA_APP_ID
+1 -10
View File
@@ -168,16 +168,7 @@ gulp.task('pub-delete', () => {
gulp.task('build:search-index', (cb) => {
const env = process.env;
env.ALGOLIA_APP_ID = '30NEY6C9UY';
env.ALGOLIA_INDEX_NAME = isProduction ? 'prod_docs' : 'dev_docs';
env.ALGOLIA_INDEX_FILE = 'public/algolia.json';
const opts = {
stdio: 'inherit',
env: env
};
const opts = {stdio: 'inherit'};
return spawn(process.cwd()+'/scripts/build-algolia.js', opts).on('close', (/* code */) => {
cb();
});
+10 -9
View File
@@ -7,8 +7,6 @@ const {
const md5 = require('md5');
const atomicalgolia = require("atomic-algolia");
const fs = require('fs');
const isProduction = process.env.NODE_ENV === 'production';
const indexName = isProduction ? "prod_docs" : "dev_docs";
const nue = [];
const rawdata = fs.readFileSync('public/algolia.json');
const nodes = JSON.parse(rawdata);
@@ -22,7 +20,7 @@ nodes.forEach(node => {
title: '',
content: '',
postref: node.objectID,
objectID: md5(node.permalink),
objectID: null,
permalink: node.permalink
};
@@ -60,14 +58,17 @@ nodes.forEach(node => {
paragraphOut.content = content.textContent;
}
// limit the content to 10k so we dont blow up just incase someone decides to make a 40k blog post in one paragraph ¯\_(ツ)_/¯
paragraphOut.content = paragraphOut.content.substr(0, 8000);
if (paragraphOut.content) {
// limit the content to 10k so we dont blow up just incase someone decides to make a 40k blog post in one paragraph ¯\_(ツ)_/¯
paragraphOut.content = paragraphOut.content.substr(0, 18000);
// objectID is not quite unique yet so hash the entire object
paragraphOut.objectID = md5(JSON.stringify(paragraphOut));
// objectID is not quite unique yet so hash the entire object
paragraphOut.objectID = md5(JSON.stringify(paragraphOut));
nue.push(paragraphOut);
nue.push(paragraphOut);
}
// remove potentially large content (see size limits) and replace with teh summary so that we don't get results with zero highlightable results
node.content = node.summary;
@@ -81,7 +82,7 @@ const merged = [...nodes, ...nue];
// fs.writeFileSync('public/combined.algolia.json', JSON.stringify(merged));
// process.exit(0);
atomicalgolia(indexName, merged, (err, result) => {
atomicalgolia(process.env.ALGOLIA_INDEX_NAME, merged, (err, result) => {
if (err) throw err;
console.log(result);
process.exit(0);
+6
View File
@@ -9,6 +9,12 @@ const bootstrapDocsSearch = function() {
apiKey: 'b7f43c16886fec97b87981e9e62ef1a5',
indexName: window.location.host === 'rancher.com' ? 'prod_docs' : 'dev_docs',
routing: true,
searchFunction: function(helper) {
if (helper.state.query === "") {
return;
}
helper.search();
}
});
search.addWidget(