3

我有一个 VIEWview_for_search_unit和一个 FTS4 表FTS_table_search_unit。我使用以下命令将数据从view_for_search_unitFTS 表中插入:

INSERT INTO FTS_table_search_unit(docId, name, description)
SELECT id, name, description FROM view_for_search_unit

在我使用以下方法检查 FTS 表中的数据后:

SELECT *FROM FTS_table_search_unit

它有 1000 条完美记录(我使用假数据)。但是,当我MATCH 在 FTS 中使用该功能时:

SELECT * FROM FTS_table_search_unit WHERE FTS_table_search_unit MATCH 's*'

我检索了 1000 条记录,但结果中的所有列都是NULL. 问题是什么?看不懂,因为里面有数据FTS_table_search_unit

4

1 回答 1

0

尝试 docid 而不是 *:

SELECT docid FROM FTS_table_search_unit 
WHERE FTS_table_search_unit 
MATCH 's*'

或者

SELECT v.* FROM FTS_table_search_unit s
INNER JOIN view_for_search_unit v ON s.docid = v.id
WHERE FTS_table_search_unit MATCH 's*';
于 2018-03-03T21:22:36.010 回答