【发布时间】:2011-07-12 04:30:34
【问题描述】:
似乎 AIR 没有与强大的 FTS module for Sqlite 打包在一起(它是一个热门的 requested feature)
我可以使用哪些其他替代方法?我希望能够进行简单的布尔和短语查询。对词干的支持会很好,但不是必需的。我的目标是移动平台。
到目前为止,我已经想到了三个选项:
- 编写一个简单的倒排索引和一个记分器
- 在服务器端进行搜索(最后的手段 b/c 它会破坏离线功能)
- 不知何故用 AIR 安装 FTS 模块。谷歌搜索的第一个迹象是它不可行(看起来模块加载在空中被禁用)
还有其他选择吗?
【问题讨论】:
-
只是出于好奇,您打算搜索多少数据?
-
我怀疑您是否会在设备上存储大量数据,因此只需一个简单的搜索算法就足够了。大多数应用都会在服务器端搜索任何稍微复杂的东西。
-
AFAIK FTS 旨在挖掘大量文本,这里不是这种情况..
-
FTS 对于 1MB 的数据来说太过分了。你可以为这么少的数据编写一个平面文件解析器,它会在移动 CPU 上以足够快的速度产生结果。不是我建议,但 LIKE / REGEXP 应该绰绰有余。只需编写一些简单的存根即可将英文查询转换为您的 REGEXP
-
这两个问题是正交的。评分、邻近词组搜索、词干提取、模糊搜索等功能即使对于小型数据集也很有用。
标签: apache-flex sqlite full-text-search air