在Android上搜索非结构化文本的库
我正在编写一个Android应用程序,需要快速搜索大量文本。文本是固定的;我想离线计算索引并随应用程序一起发布。以下是对搜索库的要求(数字1-5至关重要):在Android上搜索非结构化文本的库,android,full-text-search,Android,Full Text Search,我正在编写一个Android应用程序,需要快速搜索大量文本。文本是固定的;我想离线计算索引并随应用程序一起发布。以下是对搜索库的要求(数字1-5至关重要): 必须支持Unicode字符集 搜索需要在文本中查找任意子字符串(不仅仅是术语或术语前缀) 搜索需要返回所有匹配项 库应该尽可能轻。特别是,应该可以去掉库的索引(和其他)部分,并仅使用搜索API打包应用程序 图书馆许可证必须允许其用于专有的组合作品 不需要进行形态学分析(词干分析)或停止单词处理 通配符和/或正则表达式搜索很好,但不是必需的
有没有人知道有一个图书馆可以满足我的需要(或者可以改编)?如果库满足要求,我并不反对将另一种语言的搜索API移植到Java中。-Lucene到C的松散端口-可能值得一看。也许SQLite FTS3的自定义标记器对您有用?@JuozasKontvainis-我先看了一下。有两个问题。首先,自定义标记器只能用于更改被视为标记的内容;它不能改变FTS3的基本操作。从我所读到的内容来看,任何形式的标记化都不能解决基于标记的索引的基本限制:它可以用来查找标记前缀,但不能查找后缀。第二,我甚至不知道在Android版本的SQLite中使用自定义标记器是可能的。这很有趣,但我不知道这是我当前项目朝着正确方向迈出的一步。据我所知,Lucy包含Lucene的所有功能,包括所有索引构建基础设施。仅仅因为它是用C语言而不是Java语言编写的,所以去掉这些东西看起来并不容易。另外,Java比C(需要使用NDK)更适合Android应用程序。但是很高兴知道这件事。谢谢