html内容中的全文搜索

时间:2014-09-16 14:24:10

标签: html string sqlite full-text-search

我需要对html内容进行全文搜索。我有一个解决方案,但在我决定之前,我想检查是否还有其他解决方案。

我将在非常简单的例子中描述。我有一些数据表:

CREATE VIRTUAL TABLE Post USING fts3(Title, Content);
INSERT INTO post VALUES("Title 1", "Some content");
INSERT INTO post VALUES("Title 2", "<b>S</b>ome <b>C</b>ontent");

我正在搜索包含&#34; Some&#34;内容列的字符串。我可以在一个查询中执行此操作吗?使用MATCH

SELECT * FROM post WHERE Content MATCH 'Some';

它会找到第一行。

我的解决方案是制作两张桌子。对于html内容,第一个表格将是正常的(不是全文搜索),对于具有全文搜索的纯文本内容,第一个表格将是正常的。第二个表将包含第一个但没有html标签的内容。

在sqlite中执行此操作非常重要。

1 个答案:

答案 0 :(得分:1)

FTS模块使用tokenizers来检测文本中的单词。

没有内置的tokenizer忽略HTML标记;你必须写一个自定义标记器。 使用具有纯文本数据的表可能是更好的主意。