Allow wildcards in query filter

This commit is contained in:
Hongbo Wu
2023-04-21 17:39:04 +08:00
parent b2c115f9d9
commit b57ccd0616

View File

@ -27,10 +27,24 @@ import {
} from './types'
const appendQuery = (builder: ESBuilder, query: string): ESBuilder => {
const fields = ['title', 'content', 'author', 'description', 'siteName']
if (query.includes('*')) {
// wildcard query
fields.forEach((field) => {
builder = builder.orQuery('wildcard', {
[field]: {
value: query,
case_insensitive: true,
},
})
})
return builder.queryMinimumShouldMatch(1)
}
return builder
.orQuery('multi_match', {
query,
fields: ['title', 'content', 'author', 'description', 'siteName'],
fields,
operator: 'and',
type: 'cross_fields',
})