This commit is contained in:
smilerz
2021-04-25 19:09:54 -05:00
parent fc252149e3
commit 447324e673
2 changed files with 47 additions and 4 deletions

View File

@ -49,10 +49,11 @@ def search_recipes(queryset, params):
search_type="websearch",
config=language,
)
# TODO make icontains a configurable option - it could eventually have performance impacts
search_vectors = (
SearchVector('search_vector')
+ SearchVector(StringAgg('steps__ingredients__food__name', delimiter=' '), weight='B', config=language)
+ SearchVector(StringAgg('keywords__name', delimiter=' '), weight='B', config=language))
+ SearchVector(StringAgg('steps__ingredients__food__name__unaccent', delimiter=' '), weight='B', config=language)
+ SearchVector(StringAgg('keywords__name__unaccent', delimiter=' '), weight='B', config=language))
trigram = (
TrigramSimilarity('name', search_string)
+ TrigramSimilarity('description', search_string)
@ -60,11 +61,11 @@ def search_recipes(queryset, params):
search_rank = SearchRank(search_vectors, search_query)
queryset = (
queryset.annotate(
search=search_vectors,
vector=search_vectors,
rank=search_rank + trigram,
)
.filter(
search_vector=search_query
vector=search_query
)
.order_by('-rank'))
else:

42
vetur.config.js Normal file
View File

@ -0,0 +1,42 @@
// vetur.config.js
/** @type {import('vls').VeturConfig} */
module.exports = {
// **optional** default: `{}`
// override vscode settings
// Notice: It only affects the settings used by Vetur.
settings: {
"vetur.useWorkspaceDependencies": true,
"vetur.experimental.templateInterpolationService": true
},
// **optional** default: `[{ root: './' }]`
// support monorepos
projects: [
'./vue', // shorthand for only root.
{
// **required**
// Where is your project?
// It is relative to `vetur.config.js`.
root: './vue',
// **optional** default: `'package.json'`
// Where is `package.json` in the project?
// We use it to determine the version of vue.
// It is relative to root property.
package: './vue/package.json',
// **optional**
// Where is TypeScript config file in the project?
// It is relative to root property.
tsconfig: './vue/tsconfig.json',
// **optional** default: `'./.vscode/vetur/snippets'`
// Where is vetur custom snippets folders?
snippetFolder: './.vscode/vetur/snippets',
// **optional** default: `[]`
// Register globally Vue component glob.
// If you set it, you can get completion by that components.
// It is relative to root property.
// Notice: It won't actually do it. You need to use `require.context` or `Vue.component`
globalComponents: [
'./vue/src/components/**/*.vue'
]
}
]
}