Есть ли C ++ SOLR библиотека? - PullRequest
       19

Есть ли C ++ SOLR библиотека?

0 голосов
/ 19 февраля 2010

У меня есть ящик Solr, который прямо сейчас подается PHP cronjob.

Я хочу ускорить процесс и сэкономить память, переключившись на процесс C ++.

Я не хочу изобретать велосипед, создавая новую библиотеку.

Единственное, я не могу найти библиотеку для Solr в C ++.

В противном случае мне, вероятно, придется создать его, используя CURL.

Кто-нибудь из вас знает, какая библиотека для Solr написана на C ++?

Спасибо.

Ответы [ 3 ]

1 голос
/ 13 апреля 2012

Предпринята попытка создать C ++ - API для Solr.

Взгляните на этот проект:

http://code.google.com/p/solcpp/

0 голосов
/ 19 февраля 2010

Вы максимально оптимизировали свою схему? Два очевидных первых шага: 1. Не храните данные, которые не нужны для отображения (идентификаторы полей, метаданные и т. Д.) ... и противоположность этому ... 2. Не индексируйте данные, ТОЛЬКО используются для отображения, но не ищутся. (Дополнительные данные)

И причудливая попытка, которая иногда работает, а иногда нет, - это изменение атрибута add / overwrite на false.

<add overwrite="false">

Это отключает проверку уникального идентификатора (я думаю). Таким образом, если вы делаете полную очистку / замену индекса и уверены, что добавляете только уникальные документы, это может ускорить импорт. Это действительно зависит от размера индекса. Если у вас есть более 2 000 000 документов, и каждый раз, когда индексатор добавляет новый, вы получаете небольшую скорость, не заставляя его проверять, существует ли этот документ. Не самое красноречивое объяснение, но я надеюсь, что оно имеет смысл.

Лично я использую обработчик импорта данных, который устраняет необходимость в промежуточном скрипте. Он просто подключается к БД и высасывает необходимую информацию одним запросом.

0 голосов
/ 19 февраля 2010

Имея в виду "fed", вы имеете в виду, что документы передаются для индексации? Вы, вероятно, обнаружите, что процесс «подачи» - это не узкое место, а то, как быстро Solr может принимать документы.

Я бы также порекомендовал немного профилировать, прежде чем выполнять большую работу, потому что процесс обычно не привязан к процессору, поэтому увеличение скорости при переходе на C ++ разочаровывает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...