对于 PostgreSQL 中的小型搜索,可以轻松使用 http://django-orm.readthedocs.org/en/latest/orm-pg-fulltext.html ,如文档中所示。
以下是我用来实现它的步骤 -
'''call the libraries'''
from djorm_pgfulltext.models import SearchManager
from djorm_pgfulltext.fields import VectorField
class Notes(models.Model):
title = models.CharField()
description = models.TextField()
# create a vector field
search_index = VectorField()
objects = models.Manager()
search_manager = SearchManager(
fields=('title', 'description'),
config='pg_catalog.english',
search_field='search_index',
auto_update_search_field=True
)
运行迁移,所有更改都反映在数据库中。最后一步 - 在我的 postgresql 数据库中,我执行了以下操作 -
sudo -u postgres psql postgres // login as root
CREATE EXTENSION unaccent;
ALTER FUNCTION unaccent(text) IMMUTABLE;
所有这一切都完成了,现在我打开我的外壳
from myapp.models import Notes
In [2]: Note.search_manager.search("p")
Out[3]: []
任何想法,为什么我没有得到任何结果?
什么不见了?