0

我正在使用类似于以下查询的查询:

SELECT id, description 
FROM FullTextTable
WHERE FullTextTable MATCH '1.010 OR 1.01 OR 1.0100'

如果我只使用两个“或”运算符,查询将按预期返回,但当我尝试使用三个或更多“或”运算符时,我没有得到任何结果。您将如何使用查询语句来检查三个或更多值中的任何一个?

这是使用 Sqlite FTS4 标准全文查询语法,我认为它不支持使用括号更改操作顺序。

我的描述包含任意精度级别的小数值,我们的用户不一定会以与描述中存储的相同的精度级别进行搜索(例如,用户可能想要搜索 1.010,但描述实际上是 1.01或 1.0100,用户不会提前知道)。

4

1 回答 1

2

使用默认标记器,句点不是单词的一部分。您的查询与

... MATCH '1 010 OR 1 01 OR 1 0100'

改用短语查询:

... MATCH '"1.010" OR "1.01" OR "1.0100"'
于 2014-10-23T17:56:01.767 回答