Further polish of algolia indexing
This commit is contained in:
		
				
					committed by
					
						
						fabioberger
					
				
			
			
				
	
			
			
			
						parent
						
							1e44bcb7c9
						
					
				
				
					commit
					f1f38fb8b0
				
			@@ -1,13 +0,0 @@
 | 
			
		||||
const algoliasearch = require('algoliasearch');
 | 
			
		||||
const algoliaAppId = 'T7V7WKELRY';
 | 
			
		||||
const algoliaAdminKey = 'ccc472dee2aa991ca4bc935975e76b5d';
 | 
			
		||||
 | 
			
		||||
export const adminClient = algoliasearch(algoliaAppId, algoliaAdminKey);
 | 
			
		||||
 | 
			
		||||
export const sharedSettings = {
 | 
			
		||||
    distinct: true,
 | 
			
		||||
    attributeForDistinct: 'id',
 | 
			
		||||
    attributesToSnippet: ['description', 'textContent:20'], // attribute:nbWords (number of words to show in a snippet)
 | 
			
		||||
    searchableAttributes: ['title', 'textContent', 'description'],
 | 
			
		||||
    snippetEllipsisText: '…',
 | 
			
		||||
};
 | 
			
		||||
@@ -1,13 +1,8 @@
 | 
			
		||||
import { adminClient, sharedSettings } from './constants';
 | 
			
		||||
import { indexFiles, setIndexSettings } from './helpers';
 | 
			
		||||
import { adminClient, searchIndex, settings } from '../ts/utils/algolia_search';
 | 
			
		||||
import { indexFilesAsync, setIndexSettings } from './helpers';
 | 
			
		||||
 | 
			
		||||
const index = adminClient.initIndex('0x_guides_test');
 | 
			
		||||
const dirName = 'guides';
 | 
			
		||||
const indexName = 'guides';
 | 
			
		||||
const index = adminClient.initIndex(searchIndex[indexName]);
 | 
			
		||||
 | 
			
		||||
const settings = {
 | 
			
		||||
    ...sharedSettings,
 | 
			
		||||
    attributesForFaceting: ['topics', 'difficulty'],
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
setIndexSettings(index, settings);
 | 
			
		||||
indexFiles(index, dirName);
 | 
			
		||||
setIndexSettings(index, settings[indexName]);
 | 
			
		||||
indexFilesAsync(index, indexName);
 | 
			
		||||
 
 | 
			
		||||
@@ -95,7 +95,7 @@ async function processMdxAsync(index: any, dirName: string, fileName: string): P
 | 
			
		||||
        .process(file);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export async function indexFiles(index: any, dirName: string): Promise<void> {
 | 
			
		||||
export async function indexFilesAsync(index: any, dirName: string): Promise<void> {
 | 
			
		||||
    fs.readdir(dirName, async (err: string, items: string[]) => {
 | 
			
		||||
        for (const fileName of items) {
 | 
			
		||||
            await processMdxAsync(index, dirName, fileName);
 | 
			
		||||
 
 | 
			
		||||
@@ -1,13 +1,8 @@
 | 
			
		||||
const { adminClient, sharedSettings } = require('./constants');
 | 
			
		||||
const { indexFiles, setIndexSettings } = require('./helpers');
 | 
			
		||||
import { adminClient, searchIndex, settings } from '../ts/utils/algolia_search';
 | 
			
		||||
import { indexFilesAsync, setIndexSettings } from './helpers';
 | 
			
		||||
 | 
			
		||||
const index = adminClient.initIndex('0x_tools_test');
 | 
			
		||||
const dirName = 'tools';
 | 
			
		||||
const indexName = 'tools';
 | 
			
		||||
const index = adminClient.initIndex(searchIndex[indexName]);
 | 
			
		||||
 | 
			
		||||
const settings = {
 | 
			
		||||
    ...sharedSettings,
 | 
			
		||||
    attributesForFaceting: ['type', 'tags', 'difficulty', 'isCommunity'],
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
setIndexSettings(index, settings);
 | 
			
		||||
indexFiles(index, dirName);
 | 
			
		||||
setIndexSettings(index, settings[indexName]);
 | 
			
		||||
indexFilesAsync(index, indexName);
 | 
			
		||||
 
 | 
			
		||||
@@ -1,11 +1,33 @@
 | 
			
		||||
const algoliasearch = require('algoliasearch/lite');
 | 
			
		||||
 | 
			
		||||
const { configs } = require('ts/utils/configs');
 | 
			
		||||
const ALGOLIA_APP_ID = 'T7V7WKELRY';
 | 
			
		||||
const ALGOLIA_CLIENT_API_KEY = '4c367b8cc6d6e175ae537cc61e4d8dfd';
 | 
			
		||||
// @TODO: Move the following somewhere safe / out of the repo
 | 
			
		||||
const ALGOLIA_ADMIN_API_KEY = 'ccc472dee2aa991ca4bc935975e76b5d';
 | 
			
		||||
 | 
			
		||||
export const searchClient = algoliasearch(configs.ALGOLIA_APP_ID, configs.ALGOLIA_CLIENT_API_KEY);
 | 
			
		||||
// export const adminClient = algoliasearch(configs.ALGOLIA_APP_ID, configs.ALGOLIA_ADMIN_API_KEY);
 | 
			
		||||
export const searchClient = algoliasearch(ALGOLIA_APP_ID, ALGOLIA_CLIENT_API_KEY);
 | 
			
		||||
export const adminClient = algoliasearch(ALGOLIA_APP_ID, ALGOLIA_ADMIN_API_KEY);
 | 
			
		||||
 | 
			
		||||
export const searchIndex = {
 | 
			
		||||
    guides: '0x_guides_test',
 | 
			
		||||
    tools: '0x_tools_test',
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
const sharedSettings = {
 | 
			
		||||
    distinct: true,
 | 
			
		||||
    attributeForDistinct: 'id',
 | 
			
		||||
    attributesToSnippet: ['description', 'textContent:20'], // attribute:nbWords (number of words to show in a snippet)
 | 
			
		||||
    searchableAttributes: ['title', 'textContent', 'description'],
 | 
			
		||||
    snippetEllipsisText: '…',
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
export const settings = {
 | 
			
		||||
    guides: {
 | 
			
		||||
        ...sharedSettings,
 | 
			
		||||
        attributesForFaceting: ['topics', 'difficulty'],
 | 
			
		||||
    },
 | 
			
		||||
    tools: {
 | 
			
		||||
        ...sharedSettings,
 | 
			
		||||
        attributesForFaceting: ['type', 'tags', 'difficulty', 'isCommunity'],
 | 
			
		||||
    },
 | 
			
		||||
};
 | 
			
		||||
 
 | 
			
		||||
@@ -4,9 +4,6 @@ const BASE_URL = window.location.origin;
 | 
			
		||||
const INFURA_API_KEY = 'T5WSC8cautR4KXyYgsRs';
 | 
			
		||||
 | 
			
		||||
export const configs = {
 | 
			
		||||
    ALGOLIA_APP_ID: 'T7V7WKELRY',
 | 
			
		||||
    ALGOLIA_ADMIN_API_KEY: 'ccc472dee2aa991ca4bc935975e76b5d',
 | 
			
		||||
    ALGOLIA_CLIENT_API_KEY: '4c367b8cc6d6e175ae537cc61e4d8dfd',
 | 
			
		||||
    AMOUNT_DISPLAY_PRECSION: 5,
 | 
			
		||||
    BACKEND_BASE_PROD_URL: 'https://website-api.0x.org',
 | 
			
		||||
    BACKEND_BASE_STAGING_URL: 'https://staging-website-api.0x.org',
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user