WIP
This commit is contained in:
@ -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
42
vetur.config.js
Normal 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'
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
Reference in New Issue
Block a user