@@ -144,17 +144,19 @@ export async function bulkIndexFiles(files) {
144144
145145export async function search ( query , options ) {
146146 //add kws for selected fields
147+ let builtFields = [ ]
147148 for ( let field in options . fields ) {
148- options . fields . push ( options . fields [ field ] + 'kws' )
149+ builtFields . push ( options . fields [ field ] )
150+ builtFields . push ( options . fields [ field ] + 'kws' )
149151 }
150152 const searchQuery = {
151153 index : INDEX_NAME ,
152154 body : {
153155 size : 1500 ,
154156 query : {
155157 bool : {
156- must : buildMustClauses ( query , options ) ,
157- should : buildShouldClauses ( query , options )
158+ must : buildMustClauses ( query , options , builtFields ) ,
159+ should : buildShouldClauses ( query , options , builtFields )
158160 }
159161 } ,
160162 highlight : {
@@ -214,15 +216,15 @@ export async function search(query, options) {
214216 }
215217}
216218
217- function buildMustClauses ( query , options ) {
219+ function buildMustClauses ( query , options , builtFields ) {
218220 const clauses = [ ] ;
219221
220222 if ( options . combineWith === 'AND' ) {
221223 query . split ( ' ' ) . forEach ( term => {
222224 clauses . push ( {
223225 multi_match : {
224226 query : term ,
225- fields : options . fields . map ( field =>
227+ fields : builtFields . map ( field =>
226228 field === 'filename' || 'filenamekws' ? `${ field } ^2` : field
227229 ) ,
228230 fuzziness : options . fuzzy || 0 ,
@@ -235,14 +237,14 @@ function buildMustClauses(query, options) {
235237 return clauses ;
236238}
237239
238- function buildShouldClauses ( query , options ) {
240+ function buildShouldClauses ( query , options , builtFields ) {
239241 const clauses = [ ] ;
240242
241243 if ( options . combineWith !== 'AND' ) {
242244 clauses . push ( {
243245 multi_match : {
244246 query,
245- fields : options . fields . map ( field =>
247+ fields : builtFields . map ( field =>
246248 field === 'filename' || 'filenamekws' ? `${ field } ^2` : field
247249 ) ,
248250 fuzziness : options . fuzzy || 0 ,
0 commit comments