2013-08-27 38 views
7

Tôi có bảng với gần 200 mục nhập. Khi tôi thử tìm kiếm bằng LIKE, nó rất chậm. Bây giờ tôi quyết định sử dụng FTS. Vì vậy, tôi đã tạo hai chỉ mục nơi tìm kiếm sẽ được tổ chức. Sau đó, tôi tạo ra bảng ảo fts.Cách sử dụng FTS3 trong SQLite

Tôi không biết cách sử dụng bảng FTS mới được tạo. Vì vậy, câu hỏi của tôi là làm thế nào để sử dụng bảng ảo đó để thực hiện tìm kiếm? Bạn có thể đưa ra một ví dụ không?

Trả lời

7

Điều này được giải thích trong the documentation.

Bạn không cần hai chỉ mục cho tìm kiếm FTS.

Bạn nên khai báo cột idINTEGER PRIMARY KEY. Có thể bạn không cần cột entry_id trong bảng FST.

Sao chép văn bản vào bảng FTS:

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

Sau đó, bạn có thể sử dụng toán tử MATCH để tìm kiếm trong bảng đó:

SELECT id FROM search_eng_fts WHERE re_value MATCH 'hello';