代码之家  ›  专栏  ›  技术社区  ›  Jordan

SQLite查询-需要全文搜索帮助吗

  •  3
  • Jordan  · 技术社区  · 15 年前

    这就是我要做的。

    用户(a): 在两个字段(说明-1)和(说明-2)中输入数据。

    用户(b)在相反的字段中输入类似的数据。

    用户(a)或(b)在这两个字段上搜索将找到匹配项。

    一个很好的类比是约会搜索。用户(a)输入自己的描述和他们正在寻找的匹配项,用户(b)输入自己的描述和他们正在寻找的匹配项,两者都可以进行搜索并找到匹配项。

    所以在psuedo查询英语中。。。

    从数据中选择名称,其中me='target'和target='me'

    问题是,现场的一些单词会匹配,但不是全部。

    1 回复  |  直到 13 年前
        1
  •  5
  •   Bill Karwin    15 年前

    无论采用何种技术,这种匹配都很困难。你可能吃得太多了。

    我给你的建议是仔细阅读 Text Search PostgreSQL中的数据类型。
    PostgreSQL为全文搜索提供了灵活而强大的解决方案,它可以满足您的需要,而SQLite可能不会。

    使用PostgreSQL tsquery tsvector data types ,可以将一个用户的说明转换为查询另一个用户说明的表单。tsquery和tsvector都可以动态生成或保存在数据库列中并编制索引。

    如果仍然需要使用SQLite,则需要了解各种 FTS 虚拟表类型。这些都是实验性的,默认情况下不启用。因此,您需要重新编译SQLite,启用FTS1、FTS2或FTS3。

    关于这些特性的文档非常稀少。以下是我所发现的一切: