On 3/4/2017 12:00 PM, Shawn Heisey wrote:
On 3/3/2017 11:28 PM, Daniel Miller wrote:
What I think I want is create a single collection, with a
shard/replica/core per user. Or maybe I'm wanting a separate
collection per user - which would again mean a single
shard/replica/core. But it seems like each shard/replica/core is a
separate instance.
Manual sharding (implicit) is something you can do, but it does mean a
LOT of individual cores. Many shards/replicas can cause just as many
performance issues as many collections.
Sorry to keep hitting the same point - but I'm still not understanding.
Is each shard/replica/core in fact a separate instance? If I'm running
on a single machine - would I then have multiple "cores" listening on
multiple ports? If so - I'm thinking there'd be no benefit.
Without modifying Dovecot source, I can have it generate URL's like,
"http://solr.server.local:8983/solr/dovecot/" (which is what I do now)
or maybe, "http://solr.server.local:8983/solr/dovecot_user/" or even
"http://solr.server.local:8983/solr/dovecot/dovecot_user". But I'm
not understanding how, if possible, I can have the indexes created
appropriately to support such access. The only examples I've seen use
either separate ports or ip's for listeners.
If you use shards, the shard name would be a URL parameter, not part of
the URL path. Can Dovecot do that?
Not without modifying the source - which may indeed be appropriate. What
I'm still not clear on (actually there's a lot...) is:
Without using multiple servers for redundancy or distributed search -
would splitting the index offer any performance benefit? If not,
there's probably no point in continuing and digging into Dovecot internals.
Daniel