我在搜索TEXT字段时遇到问题,这是我的例子:
我的产品名称 DRC分类(3xEZ,2xGDE,3xLT,2xRI,1xRC,3xRSV)在进行完整索引时,solr会抛出如下错误,但当我删除括号内的字符时包括括号,完整索引是成功的。
WARN [full-frwIndex-cronJob :: de.hybris.platform.servicelayer.internal.jalo.ServicelayerJob](full-frwIndex-cronJob)[SolrIndexerJob]索引器调用期间出错:frwIndex de.hybris.platform.solrfacetsearch.indexer.exceptions.IndexerException:de.hybris.platform.solrfacetsearch.indexer.exceptions.IndexerException: Indexer worker失败。已达到最大重试次数 at de.hybris.platform.solrfacetsearch.indexer.strategies.impl.DefaultIndexerStrategy.doExecute(DefaultIndexerStrategy.java:97)〜[solrfacetsearchserver.jar:?] at de.hybris.platform.solrfacetsearch.indexer.strategies.impl.AbstractIndexerStrategy.doExecute(AbstractIndexerStrategy.java:165)〜[solrfacetsearchserver.jar:?] at de.hybris.platform.solrfacetsearch.indexer.strategies.impl.AbstractIndexerStrategy.execute(AbstractIndexerStrategy.java:124)〜[solrfacetsearchserver.jar:?] at de.hybris.platform.solrfacetsearch.indexer.impl.DefaultIndexerService.performFullIndex(DefaultIndexerService.java:68)〜[solrfacetsearchserver.jar:?] at de.hybris.platform.solrfacetsearch.indexer.cron.SolrIndexerJob.indexItems(SolrIndexerJob.java:78)〜[solrfacetsearchserver.jar:?] at de.hybris.platform.solrfacetsearch.indexer.cron.SolrIndexerJob.performIndexingJob(SolrIndexerJob.java:57)[solrfacetsearchserver.jar:?] at de.hybris.platform.solrfacetsearch.indexer.cron.AbstractIndexerJob.perform(AbstractIndexerJob.java:40)[solrfacetsearchserver.jar:?] at de.hybris.platform.servicelayer.internal.jalo.ServicelayerJob.performCronJob(ServicelayerJob.java:38)[processingserver.jar:?] 在de.hybris.platform.cronjob.jalo.Job.execute(Job.java:1390)[processingserver.jar:?] at de.hybris.platform.cronjob.jalo.Job.performImpl(Job.java:814)[processingserver.jar:?] 在de.hybris.platform.cronjob.jalo.Job.access $ 1(Job.java:767)[processingserver.jar:?] at de.hybris.platform.cronjob.jalo.Job $ JobRunable.run(Job.java:686)[processingserver.jar:?] at de.hybris.platform.util.threadpool.PoolableThread.internalRun(PoolableThread.java:208)[coreserver.jar:?] at de.hybris.platform.core.threadregistry.RegistrableThread.run(RegistrableThread.java:135)[coreserver.jar:?] 引起:de.hybris.platform.solrfacetsearch.indexer.exceptions.IndexerException:Indexer worker失败。已达到最大重试次数 at de.hybris.platform.solrfacetsearch.indexer.strategies.impl.DefaultIndexerStrategy.runWorkers(DefaultIndexerStrategy.java:154)〜[solrfacetsearchserver.jar:?] at de.hybris.platform.solrfacetsearch.indexer.strategies.impl.DefaultIndexerStrategy.doExecute(DefaultIndexerStrategy.java:93)〜[solrfacetsearchserver.jar:?] ......还有13个 引起:java.util.concurrent.ExecutionException:org.apache.solr.client.solrj.impl.HttpSolrClient $ RemoteSolrException:来自https://localhost:8983/solr的服务器的错误:异常编写文档ID frwProductCatalog / Online / 171377- 15417 25指数;可能的分析错误:startOffset必须是非负的,并且endOffset必须是> = startOffset,并且offsets不能倒退startOffset = 45,endOffset = 49,lastStartOffset = 46 for field' allFields_text_en' 在java.util.concurrent.FutureTask.report(FutureTask.java:122)〜[?:1.8.0_144] 在java.util.concurrent.FutureTask.get(FutureTask.java:192)〜[?:1.8.0_144] at de.hybris.platform.solrfacetsearch.indexer.strategies.impl.DefaultIndexerStrategy.runWorkers(DefaultIndexerStrategy.java:141)〜[solrfacetsearchserver.jar:?] at de.hybris.platform.solrfacetsearch.indexer.strategies.impl.DefaultIndexerStrategy.doExecute(DefaultIndexerStrategy.java:93)〜[solrfacetsearchserver.jar:?] ......还有13个 引起:org.apache.solr.client.solrj.impl.HttpSolrClient $ RemoteSolrException:来自https://localhost:8983/solr的服务器的错误:将文档id frwProductCatalog / Online / 171377-1541725写入索引的异常;可能的分析错误: startOffset必须为非负数,endOffset必须为> = startOffset,并且offsets不得向后反向startOffset = 45,endOffset = 49,lastStartOffset = 46 for field' allFields_text_en' 在org.apache.solr.client.solrj.impl.HttpSolrClient.executeMethod(HttpSolrClient.java:627)〜[solr-solrj-7.0.0.jar:7.0.0 3ba304b29825a94249c5145b3f5061e87b87d8f8 - anshum - 2017-09-08 13:21 :09] 在org.apache.solr.client.solrj.impl.HttpSolrClient.request(HttpSolrClient.java:253)〜[solr-solrj-7.0.0.jar:7.0.0 3ba304b29825a94249c5145b3f5061e87b87d8f8 - anshum - 2017-09-08 13:21 :09] 在org.apache.solr.client.solrj.impl.HttpSolrClient.request(HttpSolrClient.java:242)〜[solr-solrj-7.0.0.jar:7.0.0 3ba304b29825a94249c5145b3f5061e87b87d8f8 - anshum - 2017-09-08 13:21 :09] at de.hybris.platform.solrfacetsearch.solr.impl.SolrStandaloneSearchProvider $ ClusterSolrClient.request(SolrStandaloneSearchProvider.java:511)~ [solrfacetsearchserver.jar:?] at de.hybris.platform.solrfacetsearch.solr.impl.CachedSolrClient.request(CachedSolrClient.java:72)〜[solrfacetsearchserver.jar:?] 在org.apache.solr.client.solrj.SolrRequest.process(SolrRequest.java:178)〜[solr-solrj-7.0.0.jar:7.0.0 3ba304b29825a94249c5145b3f5061e87b87d8f8 - anshum - 2017-09-08 13:21:09 ] 在org.apache.solr.client.solrj.SolrClient.add(SolrClient.java:106)〜[solr-solrj-7.0.0.jar:7.0.0 3ba304b29825a94249c5145b3f5061e87b87d8f8 - anshum - 2017-09-08 13:21:09 ] 在org.apache.solr.client.solrj.SolrClient.add(SolrClient.java:71)〜[solr-solrj-7.0.0.jar:7.0.0 3ba304b29825a94249c5145b3f5061e87b87d8f8 - anshum - 2017-09-08 13:21:09 ] at de.hybris.platform.solrfacetsearch.indexer.impl.SolrServerExporter.exportToUpdateIndex(SolrServerExporter.java:89)〜[solrfacetsearchserver.jar:?] at de.hybris.platform.solrfacetsearch.indexer.impl.DefaultIndexer.indexItems(DefaultIndexer.java:130)〜[solrfacetsearchserver.jar:?] at de.hybris.platform.solrfacetsearch.indexer.strategies.impl.DefaultIndexerBatchStrategy.executeIndexerOperation(DefaultIndexerBatchStrategy.java:253)〜[solrfacetsearchserver.jar:?] at de.hybris.platform.solrfacetsearch.indexer.strategies.impl.DefaultIndexerBatchStrategy.execute(DefaultIndexerBatchStrategy.java:218)~ [solrfacetsearchserver.jar:?] at de.hybris.platform.solrfacetsearch.indexer.workers.impl.DefaultIndexerWorker.doRun(DefaultIndexerWorker.java:202)〜[solrfacetsearchserver.jar:?] at de.hybris.platform.solrfacetsearch.indexer.workers.impl.DefaultIndexerWorker.run(DefaultIndexerWorker.java:158)〜[solrfacetsearchserver.jar:?] 在java.util.concurrent.Executors $ RunnableAdapter.call(Executors.java:511)〜[?:1.8.0_144] 在java.util.concurrent.FutureTask.run(FutureTask.java:266)〜[?:1.8.0_144] 在java.util.concurrent.Executors $ RunnableAdapter.call(Executors.java:511)〜[?:1.8.0_144] 在java.util.concurrent.FutureTask.run(FutureTask.java:266)〜[?:1.8.0_144] 在java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)〜[?:1.8.0_144] 在java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:624)〜[?:1.8.0_144] 在java.lang.Thread.run(Thread.java:748)〜[?:1.8.0_144]
我的schema.xml
text
,text_gen
,text_en
如下:
<fieldType name="text_en" class="solr.TextField" positionIncrementGap="100">
<analyzer>
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.SynonymFilterFactory" ignoreCase="true" synonyms="synonyms.txt"/>
<filter class="solr.ManagedSynonymFilterFactory" managed="en" />
<filter class="solr.StopFilterFactory" ignoreCase="true" words="lang/stopwords_en.txt" />
<filter class="solr.ManagedStopFilterFactory" managed="en" />
<filter class="solr.WordDelimiterFilterFactory" preserveOriginal="1"
generateWordParts="1" generateNumberParts="1" catenateWords="1"
catenateNumbers="1" catenateAll="0" splitOnCaseChange="0" />
<filter class="solr.LowerCaseFilterFactory" />
<filter class="solr.ASCIIFoldingFilterFactory" />
<filter class="solr.SnowballPorterFilterFactory" language="English" />
</analyzer>
</fieldType>
<fieldType name="text" class="solr.TextField" positionIncrementGap="100">
<analyzer>
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.SynonymFilterFactory" ignoreCase="true" synonyms="synonyms.txt"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
<filter class="solr.WordDelimiterFilterFactory"
generateWordParts="1" generateNumberParts="1" catenateWords="1"
catenateNumbers="1" catenateAll="0" splitOnCaseChange="0" preserveOriginal="1"/>
<filter class="solr.LowerCaseFilterFactory" />
</analyzer>
</fieldType>
<!--
A general unstemmed text field - good if one does not know the
language of the field
-->
<fieldType name="textgen" class="solr.TextField" positionIncrementGap="100">
<analyzer>
<tokenizer class="solr.StandardTokenizerFactory" />
<filter class="solr.SynonymFilterFactory" ignoreCase="true" synonyms="synonyms.txt"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
<filter class="solr.WordDelimiterFilterFactory"
generateWordParts="1" generateNumberParts="1" catenateWords="1"
catenateNumbers="1" catenateAll="0" splitOnCaseChange="0" preserveOriginal="1"/>
<filter class="solr.LowerCaseFilterFactory" />
</analyzer>
</fieldType>
你能告诉我我错过了什么吗?