Sqlite全文搜索关键字'匹配'不返回任何结果

时间:2017-01-24 11:38:49

标签: sql sqlite full-text-search fts4

我使用full text search sqlitefts4 Notes上工作。

在我的数据库中,我有一个普通的表33 records,它包含fts4

我使用CREATE VIRTUAL TABLE t3 USING fts4(content="Notes", user_notes); 像这样

创建了一个虚拟表
SELECT user_notes FROM t3 WHERE user_notes MATCH 'important'

我这样查询

SELECT user_notes FROM t3 WHERE t3 MATCH 'important'

这个

<cas:label>HR data</cas:label>          
            <cas:property>
                    <cas:key>CustomerId</cas:key>
                    <cas:value>
                        <xsl:value-of select="a/string[position()=1]"/>
                    </cas:value>
                </cas:property>
                <cas:property>
                    <cas:key>ReportingPeriod</cas:key>
                    <cas:value>
                        <xsl:value-of select="a/string[position()=4]"/>
                    </cas:value>
                </cas:property>
                <cas:property>
                    <cas:key>LeaseCarStartDate</cas:key>
                    <cas:value>
                        <xsl:value-of select="a/date[position()=5]"/>
                    </cas:value>
                </cas:property>

但是查询的非正常工作,为什么?我得到空的结果没有错误。

2 个答案:

答案 0 :(得分:1)

documentation说:

  

FTS4模块从不写入内容表,写入内容表不会影响全文索引。用户有责任确保内容表和全文索引一致。

因此,当您插入Notes表时,您还必须插入t3表。 (如果实际表已填满,请使用rebuild FTS命令。)

答案 1 :(得分:-3)

您是否尝试过使用&#39; LIKE&#39;操作员呢?

SELECT user_notes FROM t3 WHERE user_notes LIKE'%important%'