Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从Cocoa应用程序使用Lucene的最佳方式是什么?_Cocoa_Lucene_Java Native Interface_Clucene - Fatal编程技术网

从Cocoa应用程序使用Lucene的最佳方式是什么?

从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看起来可能是可行的,但它在构建时失败了一系列自己的测试,包括一个间歇性并发相关问题,在我运行测试的一

我对从Cocoa应用程序中使用Lucene感兴趣。我知道有很多方法可以做到这一点,但我的问题是,“哪种方法最好?”到目前为止,我的调查如下:

LuceneKit是Lucene的Objective-C端口,但它基于Lucene的一个版本,在尝试使用它时,我从一开始就遇到了几个主要问题。(NSDate的不正确子类;在Luke中工作的基本查询不适用于LuceneKit;)它似乎不是初学者

CLucene看起来可能是可行的,但它在构建时失败了一系列自己的测试,包括一个间歇性并发相关问题,在我运行测试的一半时间里,它们会死锁。不鼓舞人心。这仍然可能是答案,但考虑到我的经验,我非常紧张,只是构建它并运行它自己的测试

当前ApacheLucene通过JNI——由于从未从C调用过Java库,我不确定这里涉及到什么。我当然觉得正式由Apache策划的Lucene的化身可能是最成熟和功能最强大的,但是之前没有做过C Java JNI,我不清楚与使用CLucene相比,所涉及的工作将如何


也许还有其他选择。我不一定要寻找一个一流的Objective-C接口(尽管我也不会拒绝),它只是一个功能性的接口,希望它能合理地成熟和性能。有人有什么明智的建议吗?

从我使用JNI的经验来看(虽然不是Lucene),简单的工作并不难,但是你可以编写很多相当单调的代码来连接所有东西


另一个你可能要考虑的选项是,它被幽门隧道项目用来生成一个包围JNI界面的样板C++,然后他们用它来包装Python API。

我接受这个答案,因为这是我已经走的方向,我已经相当满意了。然而,未来阅读此答案的其他人应该得到警告,这不是一个简单直接的方法,也不是一个从“想要使用Lucene”到“使用Lucene”的现成方法,我想说的是,与JCC合作的真正好处是,这是一种很棒的方式,可以一下子了解JNI的所有血淋淋的细节。谢谢你的提示!