从Cocoa应用程序使用Lucene的最佳方式是什么?
我对从Cocoa应用程序中使用Lucene感兴趣。我知道有很多方法可以做到这一点,但我的问题是,“哪种方法最好?”到目前为止,我的调查如下: LuceneKit是Lucene的Objective-C端口,但它基于Lucene的一个版本,在尝试使用它时,我从一开始就遇到了几个主要问题。(NSDate的不正确子类;在Luke中工作的基本查询不适用于LuceneKit;)它似乎不是初学者 CLucene看起来可能是可行的,但它在构建时失败了一系列自己的测试,包括一个间歇性并发相关问题,在我运行测试的一半时间里,它们会死锁。不鼓舞人心。这仍然可能是答案,但考虑到我的经验,我非常紧张,只是构建它并运行它自己的测试 当前ApacheLucene通过JNI——由于从未从C调用过Java库,我不确定这里涉及到什么。我当然觉得正式由Apache策划的Lucene的化身可能是最成熟和功能最强大的,但是之前没有做过C Java JNI,我不清楚与使用CLucene相比,所涉及的工作将如何从Cocoa应用程序使用Lucene的最佳方式是什么?,cocoa,lucene,java-native-interface,clucene,Cocoa,Lucene,Java Native Interface,Clucene,我对从Cocoa应用程序中使用Lucene感兴趣。我知道有很多方法可以做到这一点,但我的问题是,“哪种方法最好?”到目前为止,我的调查如下: LuceneKit是Lucene的Objective-C端口,但它基于Lucene的一个版本,在尝试使用它时,我从一开始就遇到了几个主要问题。(NSDate的不正确子类;在Luke中工作的基本查询不适用于LuceneKit;)它似乎不是初学者 CLucene看起来可能是可行的,但它在构建时失败了一系列自己的测试,包括一个间歇性并发相关问题,在我运行测试的一
也许还有其他选择。我不一定要寻找一个一流的Objective-C接口(尽管我也不会拒绝),它只是一个功能性的接口,希望它能合理地成熟和性能。有人有什么明智的建议吗?从我使用JNI的经验来看(虽然不是Lucene),简单的工作并不难,但是你可以编写很多相当单调的代码来连接所有东西
另一个你可能要考虑的选项是,它被幽门隧道项目用来生成一个包围JNI界面的样板C++,然后他们用它来包装Python API。
我接受这个答案,因为这是我已经走的方向,我已经相当满意了。然而,未来阅读此答案的其他人应该得到警告,这不是一个简单直接的方法,也不是一个从“想要使用Lucene”到“使用Lucene”的现成方法,我想说的是,与JCC合作的真正好处是,这是一种很棒的方式,可以一下子了解JNI的所有血淋淋的细节。谢谢你的提示!