Solr 6.4.1

Daniel Miller dmiller at amfes.com
Thu Feb 9 05:54:32 UTC 2017


I've been running Solr for a while (4.10.3) - wanted to make the jump to 
the latest & greatest.  I installed 6.4.1, copied over my schema.xml - 
and after a couple false starts where I needed to tweak it work with the 
new version...it works!  I did not copy the database, started from 
scratch, and executed a "doveadm fts rescan -A".  But...

Judging solely from at least one client - it's fine.  But looking in the 
logs I see:
1.  The first scan of a mailbox dovecot's error log gives:
    dovecot: imap(dmiller at amfes.com): Error: fts_solr: Lookup failed: 
Bad Request

2.  Subsequent scans do not appear to generate any dovecot error logs - 
but I'm not certain.  Each new mailbox/subfolder scanned will each have 
one error on the initial scan.

3.  Solr's log gives me the following - on every search.
2017-02-09 05:50:12.412 ERROR (qtp205125520-15) [   x:dovecot] 
o.a.s.h.RequestHandlerBase org.apache.solr.common.SolrException: Bad 
contentType for search handler :text/xml 
request={q=from:"test"+OR+to:"test"+OR+cc:"test"+OR+subject:"test"+OR+body:"test"&fl=uid,score&sort=uid+asc&fq=%2Bbox:c1af150abfc9df4d7f7a00003bc41c5f+%2Buser:"dmiller at amfes.com"&rows=67135}
         at 
org.apache.solr.request.json.RequestUtil.processParams(RequestUtil.java:72)
         at 
org.apache.solr.util.SolrPluginUtils.setDefaults(SolrPluginUtils.java:180)
         at 
org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:163)
         at org.apache.solr.core.SolrCore.execute(SolrCore.java:2306)
         at 
org.apache.solr.servlet.HttpSolrCall.execute(HttpSolrCall.java:658)
         at org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:464)
         at 
org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:345)
         at 
org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:296)
         at 
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1691)
         at 
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:582)
         at 
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
         at 
org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548)
         at 
org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:226)
         at 
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1180)
         at 
org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:512)
         at 
org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
         at 
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1112)
         at 
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
         at 
org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:213)
         at 
org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:119)
         at 
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134)
         at org.eclipse.jetty.server.Server.handle(Server.java:534)
         at 
org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:320)
         at 
org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:251)
         at 
org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:273)
         at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95)
         at 
org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:93)
         at 
org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.executeProduceConsume(ExecuteProduceConsume.java:303)
         at 
org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceConsume(ExecuteProduceConsume.java:148)
         at 
org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:136)
         at 
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:671)
         at 
org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:589)
         at java.lang.Thread.run(Thread.java:745)

2017-02-09 05:50:12.412 INFO  (qtp205125520-15) [   x:dovecot] 
o.a.s.c.S.Request [dovecot]  webapp=/solr path=/select 
params={q=from:"test"+OR+to:"test"+OR+cc:"test"+OR+subject:"test"+OR+body:"test"&fl=uid,score&sort=uid+asc&fq=%2Bbox:c1af150abfc9df4d7f7a00003bc41c5f+%2Buser:"dmiller at amfes.com"&rows=67135} 
status=400 QTime=1


My managed-schema file is:
<?xml version="1.0" encoding="UTF-8"?>
<!-- Solr managed schema - automatically generated - DO NOT EDIT -->
<schema name="dovecot" version="1.5">
   <uniqueKey>id</uniqueKey>
   <fieldType name="long" class="solr.TrieLongField" 
positionIncrementGap="0" precisionStep="0"/>
   <fieldType name="phonetic" class="solr.TextField" indexed="true" 
stored="false">
     <analyzer>
       <tokenizer class="solr.StandardTokenizerFactory"/>
       <filter class="solr.DoubleMetaphoneFilterFactory" inject="true"/>
     </analyzer>
   </fieldType>
   <fieldType name="string" class="solr.StrField" omitNorms="true" 
sortMissingLast="true"/>
   <fieldType name="boolean" class="solr.BoolField" sortMissingLast="true"/>
   <fieldType name="booleans" class="solr.BoolField" 
sortMissingLast="true" multiValued="true"/>
   <fieldType name="tlongs" class="solr.TrieLongField" docValues="true" 
precisionStep="8" positionIncrementGap="0" multiValued="true"/>
   <fieldType name="tdoubles" class="solr.TrieDoubleField" 
docValues="true" precisionStep="8" positionIncrementGap="0" 
multiValued="true"/>
   <fieldType name="tdate" class="solr.TrieDateField" docValues="true" 
precisionStep="6" positionIncrementGap="0"/>
   <fieldType name="tdates" class="solr.TrieDateField" docValues="true" 
precisionStep="6" positionIncrementGap="0" multiValued="true"/>
   <fieldType name="text_en_splitting" class="solr.TextField" 
autoGeneratePhraseQueries="true" positionIncrementGap="100">
     <analyzer type="index">
       <charFilter class="solr.MappingCharFilterFactory" 
mapping="mapping-FoldToASCII.txt"/>
       <charFilter class="solr.MappingCharFilterFactory" 
mapping="mapping-ISOLatin1Accent.txt"/>
       <charFilter class="solr.HTMLStripCharFilterFactory"/>
       <tokenizer class="solr.StandardTokenizerFactory"/>
       <filter class="solr.StopFilterFactory" words="stopwords.txt" 
ignoreCase="true"/>
       <filter class="solr.WordDelimiterFilterFactory" 
catenateNumbers="1" generateNumberParts="1" splitOnCaseChange="1" 
generateWordParts="1" catenateAll="0" catenateWords="1"/>
       <filter class="solr.LowerCaseFilterFactory"/>
       <filter class="solr.KeywordMarkerFilterFactory" 
protected="protwords.txt"/>
       <filter class="solr.PorterStemFilterFactory"/>
     </analyzer>
     <analyzer type="query">
       <tokenizer class="solr.StandardTokenizerFactory"/>
       <filter class="solr.SynonymFilterFactory" expand="true" 
ignoreCase="true" synonyms="synonyms.txt"/>
       <filter class="solr.StopFilterFactory" words="stopwords.txt" 
ignoreCase="true"/>
       <filter class="solr.WordDelimiterFilterFactory" 
catenateNumbers="0" generateNumberParts="1" splitOnCaseChange="1" 
generateWordParts="1" catenateAll="0" catenateWords="0"/>
       <filter class="solr.LowerCaseFilterFactory"/>
       <filter class="solr.KeywordMarkerFilterFactory" 
protected="protwords.txt"/>
       <filter class="solr.PorterStemFilterFactory"/>
     </analyzer>
   </fieldType>
   <field name="_version_" type="long" indexed="true" stored="true"/>
   <field name="bcc" type="text_en_splitting" indexed="true" 
stored="false"/>
   <field name="body" type="text_en_splitting" indexed="true" 
stored="false"/>
   <field name="box" type="string" indexed="true" required="true" 
stored="true"/>
   <field name="cc" type="text_en_splitting" indexed="true" stored="false"/>
   <field name="from" type="text_en_splitting" indexed="true" 
stored="false"/>
   <field name="hdr" type="text_en_splitting" indexed="true" 
stored="false"/>
   <field name="id" type="string" indexed="true" required="true" 
stored="true"/>
   <field name="subject" type="text_en_splitting" indexed="true" 
stored="false"/>
   <field name="text" type="text_en_splitting" multiValued="true" 
indexed="true" stored="false"/>
   <field name="to" type="text_en_splitting" indexed="true" stored="false"/>
   <field name="uid" type="long" indexed="true" required="true" 
stored="true"/>
   <field name="user" type="string" indexed="true" required="true" 
stored="true"/>
</schema>

-- 
Daniel



More information about the dovecot mailing list