2010-02-19 4 views
0

У меня есть поле Solr, которое сейчас кормит PHP cronjob.Есть ли библиотека COLR C++?

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

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

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

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

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

Спасибо.

ответ

0

С помощью «feed» вы имеете в виду, что документы передаются для индексирования? Вероятно, вы обнаружите, что процесс, выполняющий «кормление», не является узким местом, а скорее тем, как быстро Solr может глотать документы.

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

+0

После некоторого раннего результата Solr кажется узким место! Любое решение? Должен ли я переключиться на CLucene (кажется, больше не поддерживается) – stunti

+0

Довольно часто переход на C или C++ не дает вам увеличения скорости, которого вы могли бы ожидать. Проверьте документы Solr на ускорение. Первая вещь, которая приходит на ум, представляет несколько s в одном leonm

0

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

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

<add overwrite="false"> 

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

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

Смежные вопросы