On 2/8/2016 1:14 AM, Shahzad Masud wrote:
> Thank you Shawn for your reply. Here is my structure of cores and shards
>
> Shard 1 = localhost:8983/solr_2014 [3 Core  - Employee, Service Tickets,
> Departments]
> Shard 2 = localhost:8983/solr_2015 [3 Core  - Employee, Service Tickets,
> Departments]
> Shard 3 = localhost:8983/solr_2016 [3 Core  - Employee, Service Tickets,
> Departments]
>
> While searching, I use distributed search feature to search data from all
> three shards in respective cores e.g. If I want to search from Employee
> data for all three years, I search from Employee core of three contexts.
> This is legacy design, do you think this is okay, or this require immediate
> restructure / design? I am going to try this,
>
> Context = localhost:8982/solr (9 cores - Employee-2014, Employee-2015,
> Employee-2016, ServiceTickets-2014, ServiceTickets-2015,
> ServiceTickets-2016, Department-2014, Department-2015, Department-2016]
> distributed search would be from all three cores of same data category
> (i.e. For Employee search, it would be from Employee-2014, Employee-2015,
> Employee-2016).

With SolrCloud, you can have multiple collections for each of these
types and alias them together.  Or you can simply have one collection
for employee, one for servicetickets, and one for department, with
SolrCloud automatically handling splitting those documents into the
number of shardsthat you specify when you create the collection.  You
can also do manual sharding and split each collection on a time basis
like you have been doing, but then you lose some of the automation that
SolrCloud provides, so I do not recommend handling it that way.

> Regarding one Solr context per jetty; I cannot run two solr contexts
> pointing to different data in Jetty, as while starting jetty I have to
> provide -Dsolr.solr.home variable - which ends up pointing to one data
> folder (2014 data) only.

You do not need multiple contexts to have multiple indexes.

My dev Solr server has exactly one Solr JVM, with exactly one context --
/solr.  That instance of Solr has 45 indexes (cores) on it.  These 45
cores are various shards for three larger indexes.  I am not running
SolrCloud, but I certainly could.

You can see 25 of the 45 cores in my Solr instance in this screenshot of
the admin UI for this server:

https://www.dropbox.com/s/v87mxvkdejvd92h/solr-with-45-cores.png?dl=0

There IS a way to specify the solr home for a specific context, but keep
in mind that I definitely DO NOT recommend doing this.  There is
resource and administrative overhead to running multiple copies of Solr
in one JVM.  Simply run one context and let it handle multiple shards,
whether you choose SolrCloud or not.

Thanks,
Shawn

Reply via email to