如何从 2 个不同的列进行 FTS 匹配

Posted

技术标签:

【中文标题】如何从 2 个不同的列进行 FTS 匹配【英文标题】:How to FTS-match from 2 different columns 【发布时间】:2017-10-03 16:29:01 【问题描述】:

我正在尝试搜索 2 个名为 keywordkeyword2 的单独列以进行匹配。这可以用 SQLite FTS 完成吗?

我试过这个说法,但没有奏效:

String sql = "Select * from tblvHAL2001 WHERE tblvHAL2001 MATCH 'keyword:" + question + "' OR MATCH 'keyword2:" + question +"'";

【问题讨论】:

FTS5是版本 【参考方案1】:

您应该对每个表只使用一个 FTS 查询。 FTS 确实有boolean operators:

... WHERE tblvHAL2001 MATCH 'keyword: "blah" OR keyword2: "blah"'

而在 FTS5 中,单个 column filter 可以指定多个列:

... WHERE tblvHAL2001 MATCH 'keyword keyword2: "blah"'

【讨论】:

你先生是个传奇!【参考方案2】:
WHERE tblvHAL2001 MATCH 'keyword keyword2: "blah"'

【讨论】:

以上是关于如何从 2 个不同的列进行 FTS 匹配的主要内容,如果未能解决你的问题,请参考以下文章