Thanks Shawn, the explanations help bring me forward to the "SolrCloud"
mentality.

So it sounds like going forward that I should have a more complicated name
(ex: coll1-20131015) aliased to coll1, to make it easier to switch in the
future.

Now, if I already have an index (copied from one location to another), it
sounds like I should just remove my existing (bad/old data) coll1, create
the "replicated" one (calling it coll1-<date>), then alias coll1 to that
one.

This type of information would have been awesome to know before I got
started, but I can make do with what I've got going now.

Thanks again!


-- Chris


On Wed, Oct 16, 2013 at 2:40 PM, Shawn Heisey <s...@elyograg.org> wrote:

> On 10/16/2013 11:51 AM, Christopher Gross wrote:
> > Ok, so I think I was confusing the terminology (still in a 3.X mindset I
> > guess.)
> >
> > From the Cloud->Tree, I do see that I have "collections" for what I was
> > calling "core1", "core2", etc.
> >
> > So, to redo the above,
> > Servers: index1, index2, index3
> > Collections: (on each) coll1, coll2
> > Collection (core?) on index1: coll1new
> >
> > Each Collection has 1 shard (too small to make sharding worthwhile).
> >
> > So should I run something like this:
> >
> http://index1:8080/solr/admin/collections?action=CREATEALIAS&name=coll1&collections=col11new
> >
> > Or will I need coll1new to be on each of the index1, index2 and index3
> > instances of Solr?
>
> I don't think you can create an alias if a collection already exists
> with that name - so having a collection named core1 means you wouldn't
> want an alias named core1.  I could be wrong, but just to keep things
> clean, I wouldn't recommend it, even if it's possible.
>
> That CREATEALIAS command will only work if coll1new shows up in
> /collections and shows green on the cloud graph.  If it does, and you're
> using an alias name that doesn't already exist as a collection, then
> you're good.
>
> Whether coll1new is living on one server, two servers, or all three
> servers doesn't matter for CREATEALIAS, or for most other
> collection-related topics.  Any query or update can be sent to any
> server in the cloud and it will be routed to the correct place according
> to the clusterstate.
>
> Where things live and how many replicas there are *does* matter for a
> discussion about redundancy.  Generally speaking, you're going to want
> your shards to have at least two replicas, so that if a Solr instance
> goes down, or is taken down for maintenance, your cloud remains fully
> operational.  In your situation, you probably want three replicas - so
> each collection lives on all three servers.
>
> So my general advice:
>
> Decide what name you want your application to use, make sure none of
> your existing collections are using that name, and set up an alias with
> that name pointing to whichever collection is current.  Then change your
> application configurations or code to point at the alias instead of
> directly at the collection.
>
> When you want to do your reindex, first create a new collection using
> the collections API.  Index to that new collection.  When it's ready to
> go, use CREATEALIAS to update the alias, and your application will start
> using the new index.
>
> Thanks,
> Shawn
>
>

Reply via email to