【问题标题】:Partial text search with postgreql & django使用 postgresql 和 django 进行部分文本搜索
【发布时间】:2013-03-31 11:26:23
【问题描述】:

尝试使用 postgresql 和 django 实现部分文本搜索,使用以下查询

Entry.objects.filter(headline__contains="search text")

这将返回具有完全匹配的记录,即假设使用查询 __contains="welcome world" 与记录“欢迎来到新世界”检查匹配,返回零记录

如何使用 postgresql-8.4 和 django 实现部分文本搜索?

【问题讨论】:

标签: django postgresql full-text-search


【解决方案1】:

如果您想要这种精确的部分搜索,您可以使用 startswitch 字段查找方法:Entry.objects.filter(headline__startswith="search text")。在https://docs.djangoproject.com/en/dev/ref/models/querysets/#startswith 上查看更多信息。

此方法创建一个 LIKE 查询(“SELECT ... WHERE header LIKE 'search text%'”),因此如果您正在寻找全文替代方案,您可以查看 PostgreSQL 内置的 @ 987654322@分机或XapianSolrSphinx等其他选项

前面提到的每个引擎都有 Django 应用程序,使它们更易于集成:Djapian 用于 Xapian 集成或 Haystack 用于一个应用程序中的多个集成。

【讨论】:

    猜你喜欢
    • 2013-03-31
    • 1970-01-01
    • 1970-01-01
    • 2021-09-26
    • 1970-01-01
    • 2014-07-07
    • 2019-06-03
    • 2021-03-13
    • 1970-01-01
    相关资源
    最近更新 更多