Я никогда не делал этого раньше, но похоже, что у sphinx есть механизм xml-конвейера. Они сделали это так, чтобы людям не пришлось самим писать новые драйверы источника данных.
Подробнее о xmlpipe:
http://sphinxsearch.com/docs/2.0.1/xmlpipe.html
Что вы можете сделать, это взять одну из реализаций Java-крана. Один из них - только проект проекта.
https://github.com/mikewied/jtap
, а другая - последняя версия spymemcached (которая на данный момент является предварительным выпуском с поддержкой тапов)
Вы можете найти его на сайте Couchbase здесь:
http://files.couchbase.com/maven2/spy/spymemcached/2.7/
Я бы использовал spymemcached, хотя, поскольку он отслеживает изменения топологии, и с помощью jtap вам придется запускать отдельный поток крана для каждого узла. И то и другое очень похоже.
Лучшее, что можно сделать, это, вероятно, запустить поток нажатий, а затем создать маленькие фрагменты xml, как в примере на странице sphinx, на которую я ссылался выше. Затем вы можете отправить xml в канал sphinx для индексации.
Кроме того, если у вас возникли проблемы с клиентами, просто отправляйте сообщения на форумы Couchbase. Они довольно быстро отвечают на вопросы.