Sal*_*Din 5 python django postgresql
我们正在开发一个项目,我们正在使用Django 1.10a1,我们正在使用带有PostgreSQL的django全文搜索,但我们需要使用unaccent.
所以,我有这个代码:
search = 'Car'
query_set = Article.objects.annotate(
search=SearchVector(
'content',
'name'
)
).filter(
search__unaccent=search
)
Run Code Online (Sandbox Code Playgroud)
当我们尝试在查询不起作用unaccent后添加单词时search.我们怎样才能让django全文搜索与postgress unaccent一起工作?
将unaccent扩展安装到数据库中:
mydb=# CREATE EXTENSION unaccent;
Run Code Online (Sandbox Code Playgroud)
基于另一个创建新的搜索配置:
mydb=# CREATE TEXT SEARCH CONFIGURATION french_unaccent( COPY = french );
Run Code Online (Sandbox Code Playgroud)
将unaccent字典插入新的搜索配置:
mydb=# ALTER TEXT SEARCH CONFIGURATION french_unaccent
ALTER MAPPING FOR hword, hword_part, word
WITH unaccent, french_stem;
Run Code Online (Sandbox Code Playgroud)
在Django查询中使用此配置:
search = 'Car'
query_set = Article.objects.annotate(
search=SearchVector('content','name', config='french_unaccent')
).filter(search=SearchQuery(search, config='french_unaccent')))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1090 次 |
| 最近记录: |