搜寻恩贾梅纳和博士后

django-pgindex的Python项目详细描述


搜索django和postgresql。

要求

  • django>;=1.1
  • django stringfield=0.1.5
  • Django Cerial=0.0.2

安装

首先使用pip从pypi安装包:

pip install django-pgindex

然后在INSTALLED_APPS中创建pgindex应用程序:

INSTALLED_APPS = (
    ...
    'pgindex',
    ...
)

同步数据库:

python manage.py syncdb

完成。

用法

创建并索引类并将其注册到模型中,这与注册 你的模型的管理类。示例:

# models.py
from django.db import models
from .index import ItemIndex
from pgindex import register

class Item(models.Model):
    title = models.CharField(max_length=100)
    content = models.TextField()

    def get_absolute_url(self):
        return '/item/'

register(Item, ItemIndex)


# index.py
from pgindex import IndexBase, Vector

class ItemIndex(IndexBase):
    def get_title(self):
        return self.obj.title

    def get_description(self):
        return self.obj.content

    def get_vectors(self):
        return (
            Vector(self.obj.title, weight='A'),
            Vector(self.obj.content, weight='B'),
        )

要搜索,只需使用返回queryset的pgindex.search方法 来自pgindex.models.Index模型:

from pgindex import search

index_queryset = search('foo')

有关示例,请参见测试

pgindex.IndexBase方法

获取标题()

这将返回索引对象的标题。

获取描述()

这将返回索引对象的描述。

获取URL()

这将返回索引对象的url。

获取数据()

您可以在此返回将存储在索引字段中的其他数据 价值将被腌制和去除

获取发布()

如果返回False,则不会创建索引

获取开始发布(

可以返回datetime.datetime,这是将使用索引的时间。 返回None意味着将始终使用它。

get_end_publish()

可以返回datetime.datetime,这是索引过期的时间。 返回None意味着它永远不会过期。

获取向量()

此方法需要返回^{tt10}的列表或元组$ 实例。这又是文本搜索列的基础

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何显示因用户而异的SQLite存储数据?   转换java。sql。将映射传递给Jackon的valueToTree方法时StringNode的时间戳   从java中的列表json获取值   unicode Java字符存储在什么编码中?   java如何让Spring数据存储库中的默认方法命中缓存?   java使用readClassDescriptor()和resolveClass()来允许序列化版本控制   数组通过另一个矩阵的一部分填充矩阵   如果包含使用正则表达式的字符串,则替换父XML标记的java   java清除SharedReference中的单个变量   java将变量值从一个jsp页面传输到另一个jsp页面   java JDBC+SQLite:DriveManager不加载所需的驱动程序   相同源代码的java Kotlin构建生成不同的二进制文件   Java中的元组枚举