如何从 2 个不同的列进行 FTS 匹配
Posted
技术标签:
【中文标题】如何从 2 个不同的列进行 FTS 匹配【英文标题】:How to FTS-match from 2 different columns 【发布时间】:2017-10-03 16:29:01 【问题描述】:我正在尝试搜索 2 个名为 keyword
和 keyword2
的单独列以进行匹配。这可以用 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 匹配的主要内容,如果未能解决你的问题,请参考以下文章
如何匹配两个不同表中的列并将选定的列输出到 MySQL 中的第三个表?