* Bug fix: Dirty update of default settings due to pass by reference

This commit is contained in:
Alexandra
2025-05-20 09:59:02 -06:00
parent 66abe66190
commit e7b1bd2a82

View File

@@ -144,8 +144,10 @@ export async function bulkIndexFiles(files) {
export async function search(query, options) {
//add kws for selected fields
let builtFields = []
for(let field in options.fields){
options.fields.push(options.fields[field] + 'kws')
builtFields.push(options.fields[field])
builtFields.push(options.fields[field] + 'kws')
}
const searchQuery = {
index: INDEX_NAME,
@@ -153,8 +155,8 @@ export async function search(query, options) {
size: 1500,
query: {
bool: {
must: buildMustClauses(query, options),
should: buildShouldClauses(query, options)
must: buildMustClauses(query, options, builtFields),
should: buildShouldClauses(query, options, builtFields)
}
},
highlight: {
@@ -214,7 +216,7 @@ export async function search(query, options) {
}
}
function buildMustClauses(query, options) {
function buildMustClauses(query, options, builtFields) {
const clauses = [];
if (options.combineWith === 'AND') {
@@ -222,7 +224,7 @@ function buildMustClauses(query, options) {
clauses.push({
multi_match: {
query: term,
fields: options.fields.map(field =>
fields: builtFields.map(field =>
field === 'filename' || 'filenamekws' ? `${field}^2` : field
),
fuzziness: options.fuzzy || 0,
@@ -235,14 +237,14 @@ function buildMustClauses(query, options) {
return clauses;
}
function buildShouldClauses(query, options) {
function buildShouldClauses(query, options, builtFields) {
const clauses = [];
if (options.combineWith !== 'AND') {
clauses.push({
multi_match: {
query,
fields: options.fields.map(field =>
fields: builtFields.map(field =>
field === 'filename' || 'filenamekws' ? `${field}^2` : field
),
fuzziness: options.fuzzy || 0,