您的位置:首页 > 移动开发 > Android开发

lucene的android之坑

2017-12-21 15:42 211 查看

一、怎么想的?

lucene确实是一个相当好用的搜索工具,建立倒排索引到直接查询很简便,在Orical官网支持,就直接下载官方包引用即可,就想着可以实现一个在andriod上的搜索,选取建立索引的文件夹,常见索引之后,就可以针对这个文件夹进行搜索

二、还有点顺利~~~

起先我在eclipse上基于java 8实现了针对windows下的某一路径data,对data文件夹下的所有文件进行倒排索引创建,并将索引文件放到index文件夹下,然后利用索引实现搜索,没毛病。
接下来,我就在安卓上写了个界面,可以自己选取文件路径和索引路径,以为万事俱备,只需要将写好的java代码放到android project里面就好,呵呵,天真。


三、坑~全是坑

android本身不支持某写java包,当我在实现搜索功能的类中使用了java 7中新加入的java.nio.file.Path 和 java.nio.file.Paths包,android是不支持这些类的,所以工程中根本无法引入。这直接导致了项目的终结。

android studio升级3.0.1,这是个大坑,新的android studio有某些众所周知的bug,在引入jar包的时候,会出现无法解析的情况,这有可能是引入的jar包包含的类太多超出了android的限制,需要使用分包,还有就是根本不支持这个jar。



API的问题,很多的方法在android上是不支持版本的,就像
Path path3 = Paths.get(lucene_path.INDEX_DIR);
这个函数必须在API26以上才支持的。基本是废的。

四、心情很糟糕

搞了两三天发现出发点就是错的,根本不能把java和android混为一谈,sdk和jdk本不能兼容的额特别好,普通jdk使用的jvm是hotspot,而android的jvm是dalvik,你需要找的是支持jdk1.7的dalvik。

调研和规划很重要,再接再厉,虽然这个未必不能实现,但是先换种思路,等以后有更多了解再来。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  lucene android