Если бы я должен был реализовать SOLR, как это
стандартный способ сделать это?
Стандартный способ использования Solr - настроить его как отдельное веб-приложение, работающее в экземпляре вашего любимого контейнера веб-приложений (рекомендуется Jetty, и могут быть проблемы с несовместимостью с Resin). Вы общаетесь с ним через его HTTP-интерфейс, либо программно, используя библиотеку, такую как SolrJ, или предоставленные JAR-файлы, либо напрямую, используя curl
или веб-браузер.
Для начала я рекомендую прочитать учебник , который предназначен для Solr 1.3, но по большей части все еще актуален.
И я не понял, должен ли я
обновлять индекс SOLR каждый раз, когда новый
объявление опубликовано / или
обновлять / изменять или индексировать их все по
раз в 12 часов или около того?
Вы можете добавлять документы, как только они будут опубликованы. Solr сначала запишет их в память, а затем, в зависимости от настроек конфигурации, по истечении определенного времени или после ожидания определенного количества документов он «зафиксирует» их в индексе на диске. Вы также можете настроить частоту оптимизации индекса, что является дорогостоящей операцией, сжимающей индекс на диске.
Должен ли я использовать SOLR, чтобы найти идентификатор
объявления, а затем получить
запись в MySQL, или я должен использовать ТОЛЬКО
SOLR
Если ваши данные невелики (по общему размеру, а не по отдельности), вы можете поместить все это в Solr, но по мере роста вы можете использовать гибридное решение, в котором Solr просто хранит индексированные значения, а MySQL используется для сохраненные данные.
Но не нашли хороших статей
о dataImportHandlers, если это
что мне нужно ..
Если вы хотите экспортировать данные MySQL в Solr, используйте CSVRequestHandler (обратите внимание, что здесь csv действительно может быть любым форматом плоского файла, подобным тому, который MySQL будет производить.
Редактировать : в ответ на ваш комментарий я раньше не рассматривал DataImportHandler
s, но, читая страницу в руководстве по Solr, кажется, что это полезно для импорта данных непосредственно из вашей базы данных (либо все сразу, либо периодические дельты), когда у вас есть целая схема, которую нужно сохранить. Поэтому я бы сказал, что если данные, которые необходимо проиндексировать, представляют собой несколько полей в одной таблице, используйте CSVRequestHandler
, потому что это очень просто и не требует настройки, но если у вас есть несколько таблиц со связями между их и все данные должны быть включены в индекс, тогда вы должны посмотреть на DataImportHandler
.
Редактировать 2 : все, что может сделать HTTP-запрос, может обновить Solr, но вот ссылка на проект в коде Google, который обеспечивает реализацию клиента Solr на PHP. Я сам этим не пользовался.