7
我有近200k條目的表。當我嘗試使用LIKE進行搜索時,速度非常慢。現在我決定使用FTS。所以我創建了兩個索引來進行搜索。然後我創建了fts虛擬表。如何在SQLite中使用FTS3
我不知道如何使用新創建的FTS表。所以我的問題是如何使用該虛擬表進行搜索?你能給個例子嗎?
我有近200k條目的表。當我嘗試使用LIKE進行搜索時,速度非常慢。現在我決定使用FTS。所以我創建了兩個索引來進行搜索。然後我創建了fts虛擬表。如何在SQLite中使用FTS3
我不知道如何使用新創建的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';