Well, this is somewhat of  a problem if you have have URL's as uniqueKey that 
contain exclamation marks. Isn't it an idea to allow those to be escaped and 
thus ignored by CompositeIdRouter?

On Friday, April 11, 2014 11:43:31 AM Cool Techi wrote:
> Thanks, that was helpful.
> Regards,Rohit
> 
> > Date: Thu, 10 Apr 2014 08:44:36 -0700
> > From: iori...@yahoo.com
> > Subject: Re: Fails to index if unique field has special characters
> > To: solr-user@lucene.apache.org
> > 
> > Hi Ayush,
> > 
> > I thinks this
> > 
> > ""IBM!12345". The exclamation mark ('!') is critical here, as it
> > distinguishes the prefix used to determine which shard to direct the
> > document to."
> > 
> > https://cwiki.apache.org/confluence/display/solr/Shards+and+Indexing+Data+
> > in+SolrCloud
> > 
> > 
> > 
> > 
> > On Thursday, April 10, 2014 2:35 PM, Cool Techi <cooltec...@outlook.com>
> > wrote: Hi,
> > We are migrating from Solr 4.6 standalone to Solr 4.7 cloud version, while
> > reindexing the document we are getting the following error. This is
> > happening when the unique key has special character, this was not noticed
> > in version 4.6 standalone mode, so we are not sure if this is a version
> > problem or a cloud issue. Example of the unique key is given below,
> > http://www.mynews.in/Blog/smrity!!**)))!miami_dolphins_vs_dallas_cowboys_
> > live_stream_on_line_nfl_football_free_video_broadcast_B142707.html
> > Exception Stack Trace
> > ERROR - 2014-04-10 10:51:44.361; org.apache.solr.common.SolrException;
> > java.lang.ArrayIndexOutOfBoundsException: 2       at
> > org.apache.solr.common.cloud.CompositeIdRouter$KeyParser.getHash(Composit
> > eIdRouter.java:296)       at
> > org.apache.solr.common.cloud.CompositeIdRouter.sliceHash(CompositeIdRoute
> > r.java:58)       at
> > org.apache.solr.common.cloud.HashBasedRouter.getTargetSlice(HashBasedRout
> > er.java:33)       at
> > org.apache.solr.update.processor.DistributedUpdateProcessor.setupRequest(
> > DistributedUpdateProcessor.java:218)       at
> > org.apache.solr.update.processor.DistributedUpdateProcessor.processAdd(Di
> > stributedUpdateProcessor.java:550)       at
> > org.apache.solr.update.processor.LogUpdateProcessor.processAdd(LogUpdateP
> > rocessorFactory.java:100)       at
> > org.apache.solr.handler.loader.XMLLoader.processUpdate(XMLLoader.java:247
> > )       at
> > org.apache.solr.handler.loader.XMLLoader.load(XMLLoader.java:174)      
> > at>
> > 
> >org.apache.solr.handler.UpdateRequestHandler$1.load(UpdateRequestHandler.j
> >ava:92)       at
> >org.apache.solr.handler.ContentStreamHandlerBase.handleRequestBody(Content
> >StreamHandlerBase.java:74)       at
> >org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBas
> >e.java:135)       at
> >org.apache.solr.core.SolrCore.execute(SolrCore.java:1916)       at
> >org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java
> >:780)       at
> >org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.jav
> >a:427)       at
> >org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.jav
> >a:217)       at
> >org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandl
> >er.java:1419)       at
> >org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:455)
> >       at
> >org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:1
> >37)       at
> >org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:557
> >)       at org.eclipse.jetty.server.session.SessionHandle>
> > Thanks,Ayush                          
> 
>      

Reply via email to