计算sqlite FTS4中的单词

时间:2012-02-04 11:34:32

标签: sqlite

我有一个像这样定义的sqlite3全文搜索表:

 CREATE VIRTUAL TABLE entries USING fts4 ( entry TEXT )

每个条目行都有一行文字。如何编写查询来计算表中的单词总数?感谢

1 个答案:

答案 0 :(得分:3)

我不知道有这样做的内置函数,但你可以重复使用答案 “Query to count words SQLite 3”获取单词总数:

select sum(length(trim(entry)) 
        - length(replace(trim(entry), ' ', '')) + 1) from entries;

(通过添加trim修改了原始答案。)

如果您拥有sqlite3版本3.7.6或更高版本,则可以使用fts4aux table执行更干净的操作。

create virtual table terms using fts4aux(entries);
select count(distinct term) from terms;