我有兴趣从 Cocoa 应用程序中使用 Lucene。我知道有很多方法可以做到这一点,但我的问题是,“哪种方法最好?” 到目前为止我的调查:
LuceneKit 是 Lucene 的 Objective-C 端口,但它基于一个在这一点上很古老的 Lucene 版本,在尝试使用它时,我从一开始就遇到了几个主要问题。(不正确的 NSDate 子类;在 Luke 中工作的基本查询不适用于 LuceneKit;)它似乎不是一个初学者。
CLucene 看起来它可能是可行的,但它在构建时未能通过一堆它自己的测试,包括与间歇性并发相关的问题,其中一半时间我运行测试它们死锁。不鼓舞人心。这仍然可能是答案,但考虑到我只是构建它并运行自己的测试的经验,我感到非常紧张。
当前通过 JNI 的 Apache Lucene - 从来没有从 C 中调用过 Java 库,我不确定这里涉及到什么。我当然觉得 Lucene 的官方 Apache 策划化身可能是最成熟和最实用的,但是之前没有做过 C <-> Java JNI 的事情,我不清楚所涉及的工作与使用 CLucene 相比如何.
也许还有其他选择。我不一定要寻找一流的 Objective-C 接口(尽管我也不会拒绝),只是功能性强、希望相当成熟且性能合理的接口。任何人有任何圣人的建议?