Как лучше всего использовать Lucene из приложения Какао? - PullRequest
4 голосов
/ 13 марта 2011

Мне интересно работать с Lucene из приложения Какао.Я знаю, что есть много способов сделать это, но мой вопрос, "какой путь лучше?"Мои исследования до сих пор:

LuceneKit - это порт Lucene для Objective-C, но он основан на древней на данный момент версии Lucene, и при попытке его использовать я столкнулся с несколькими основнымивопросы с самого начала.(Неподходящий подкласс NSDate; базовый запрос, который работает в Luke, не работает с LuceneKit;) Он, кажется, не запускается.

CLucene выглядел, как будто он может быть жизнеспособным, но он не работаетэто собственные тесты сборки, в том числе периодически возникающая проблема, связанная с параллелизмом, когда половину времени я запускаю тесты, они тупиковые.Не вдохновляет.Это все еще может быть ответом, но я очень нервничаю, принимая во внимание мой опыт создания и запуска собственных тестов.

Текущая версия Apache Lucene через JNI - просто никогда не вызывая библиотеку Java из C, яне уверены, что здесь происходит.Я, конечно, чувствую, что официальное Apache-кураторное воплощение Lucene, вероятно, будет самым зрелым и функциональным, но, если раньше я не занимался C <-> Java JNI, мне непонятно, как эти усилия сравниваются с работой с CLucene..

Возможно, есть и другие варианты.Я не обязательно ищу первоклассный интерфейс Objective-C (хотя я бы и не отказался от него), просто что-то функциональное и, надеюсь, достаточно зрелое и достаточно производительное.У кого-нибудь есть мудрый совет?

1 Ответ

2 голосов
/ 13 марта 2011

Исходя из моего опыта использования JNI (хотя и не с Lucene), не слишком сложно получить что-то простое, работающее, но вы можете закончить написание большого количества довольно монотонного кода, связывающего все.

Другой вариантвы, возможно, захотите рассмотреть JCC , который используется проектом PyLucene для генерации шаблонного C ++, обертывающего внутреннюю поверхность JNI, который они затем используют, чтобы обернуть Python API.

...