gpt4 book ai didi

android - 如何在 SQLite 中使用 FTS3

转载 作者:IT王子 更新时间:2023-10-29 06:23:58 25 4
gpt4 key购买 nike

我的表格包含近 20 万个条目。当我尝试使用 LIKE 进行搜索时,速度非常慢。现在我决定使用 FTS。所以我创建了两个用于进行搜索的索引。然后我创建了 fts 虚拟表。

`CREATE TABLE [search_eng] (
[id] INTEGER PRIMARY KEY AUTOINCREMENT,
[entry_id] INTEGER,
[re_value] TEXT,
[ke_value] TEXT,
[g_value] TEXT);

CREATE INDEX idx_se_re ON search_eng (re_value);

CREATE INDEX idx_se_gv ON search_eng (g_value);


CREATE VIRTUAL TABLE search_eng_fts USING fts3(id, entry_id, re_value, ke_value, g_value);`

我不知道如何使用新创建的 FTS 表。所以我的问题是如何使用该虚拟表进行搜索?能举个例子吗?

最佳答案

这在 the documentation 中有解释.

FTS 搜索不需要这两个索引。

您应该将 id 列声明为 INTEGER PRIMARY KEY。您可能不需要 FST 表中的 entry_id 列。

将文本复制到 FTS 表中:

INSERT INTO search_eng_fts(id, re_value, ke_value, g_value)
SELECT id, re_value, ke_value, g_value FROM search_eng;

然后您可以使用 MATCH 运算符在该表中进行搜索:

SELECT id FROM search_eng_fts WHERE re_value MATCH 'hello';

关于android - 如何在 SQLite 中使用 FTS3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18466787/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com