Solr в среде с несколькими арендаторами

Я рассматриваю возможность использования Solr в приложении с несколькими арендаторами, и мне интересно, есть ли какие-либо рекомендации или вещи, которые я должен соблюдать?

Один вопрос, в частности, имеет смысл иметь Solr Core для каждого арендатора. Есть ли проблемы с большим количеством Solr Cores? Я рассматриваю использование ядра для каждого арендатора, потому что я мог бы защитить каждый ядро ​​отдельно.

Спасибо

Ответы

Ответ 1

Solr Cores - отличная идея для многопользовательских, особенно, поскольку их можно управлять во время выполнения (поэтому не требуется перезагрузка сервера). Вы не должны сталкиваться с множеством проблем с производительностью для наличия нескольких ядер Solr, но имейте в виду, что производительность одного ядра будет зависеть от работы с другими ядрами - вероятно, они будут использовать один и тот же диск.

Я могу понять, почему вы, возможно, захотите предоставить прямой доступ к API, например, если каждый пользователь является сайтом Drupal или аналогичным для среды с общим хостингом. Лучше всего было бы защитить разные URL-адреса, например. если у вас есть /solr/admin/corees/solr/client 1 для ядра клиента и /solr/client 2 для другого, у вас будет три разных аутентификации: одна для вашего администратора и одна для ваших арендаторов. Это делается в контейнере (Jetty, Tomcat и т.д.), Посмотрите общую страницу безопасности Solr: http://wiki.apache.org/solr/SolrSecurity - вы будете хотите настроить базовый доступ для входа для каждого пути таким же образом.

Ответ 2

Вы бы больше не использовали отдельный table in a database для каждого арендатора, чем для solr core для каждого арендатора.

Если вы думаете о ядре, таком как таблица базы данных, и организуете свой проект таким образом, чтобы каждое ядро ​​представляло объект в вашем проблемном пространстве, тогда вы можете лучше использовать solr.

Когда solr светится, когда вам нужно индексировать текст, а затем быстро искать его. Если вы этого не делаете, вы можете использовать реляционную базу данных.

Также из вашего вопроса о защите solr для каждого арендатора, надеюсь, вы не предлагаете, чтобы ваши зарегистрированные пользователи могли напрямую обращаться к выходу solr? Ваши пользователи не должны иметь прямой доступ к вашему экземпляру solr.

Удачи.

Ответ 3

Thaks ok.. вы не можете использовать кеш (inbuild) правильно и для своих требований. вы добавляете бит разрешения, в котором вы можете изменить querycompoent, в котором вы можете работать должным образом в соответствии с разрешением.. есть побитовая операция, также доступная для этого.. используйте это для ваших нужд.