in supporting-blog-content/add-ai-generated-summaries/app-search-reference-ui-react-master/src/config/config-helper.js [87:149]
export function buildSearchOptionsFromConfig() {
const config = getConfig();
const searchFields = (config.searchFields || config.fields || []).reduce(
(acc, n) => {
acc = acc || {};
acc[n] = {};
return acc;
},
undefined
);
const resultFields = (config.resultFields || config.fields || []).reduce(
(acc, n) => {
acc = acc || {};
acc[n] = {
raw: {},
snippet: {
size: 100,
fallback: true
}
};
return acc;
},
undefined
);
// We can't use url, thumbnail, or title fields unless they're actually
// in the reuslts.
if (config.urlField) {
resultFields[config.urlField] = {
raw: {},
snippet: {
size: 100,
fallback: true
}
};
}
if (config.thumbnailField) {
resultFields[config.thumbnailField] = {
raw: {},
snippet: {
size: 100,
fallback: true
}
};
}
if (config.titleField) {
resultFields[config.titleField] = {
raw: {},
snippet: {
size: 100,
fallback: true
}
};
}
const searchOptions = {};
searchOptions.result_fields = resultFields;
searchOptions.search_fields = searchFields;
return searchOptions;
}