<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-2022-jp">
<meta content="text/html; charset=utf-8">
</head>
<body>
<div dir="auto" style="direction:ltr; margin:0; padding:0; font-family:sans-serif; font-size:11pt; color:black">
I've been using the same config since 6.x iirc.<br>
<br>
</div>
<div dir="auto" style="direction:ltr; margin:0; padding:0; font-family:sans-serif; font-size:11pt; color:black">
<div dir="auto" style="direction:ltr; margin:0; padding:0; font-family:sans-serif; font-size:11pt; color:black">
Get <a href="https://aka.ms/ghei36">Outlook for Android</a></div>
<br>
</div>
<hr tabindex="-1" style="display:inline-block; width:98%">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" color="#000000" style="font-size:11pt"><b>From:</b> dovecot <dovecot-bounces@dovecot.org> on behalf of luckydog xf via dovecot <dovecot@dovecot.org><br>
<b>Sent:</b> Monday, April 22, 2019 10:31:56 PM<br>
<b>To:</b> Dovecot Mailing List<br>
<b>Subject:</b> Re: SolrCore 'dovecot' is not available due to init failure: fieldType 'text_general' not found in the schema</font>
<div> </div>
</div>
<div>
<div dir="ltr"><a href="https://wiki.dovecot.org/Plugins/FTS/Solr">https://wiki.dovecot.org/Plugins/FTS/Solr</a> 
<div> </div>
<div>Only offers a solr-7.7.0 solrconfig.xml, does it apply to solr-8.0.0? <br>
</div>
<div><br>
</div>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Tue, Apr 23, 2019 at 11:18 AM luckydog xf <<a href="mailto:luckydogxf@gmail.com">luckydogxf@gmail.com</a>> wrote:<br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex; border-left:1px solid rgb(204,204,204); padding-left:1ex">
<div dir="ltr">
<div dir="ltr">Here is solrconfig.xml, I removed comments.
<div>--------------------</div>
<div><br>
</div>
<div>
<div><?xml version="1.0" encoding="UTF-8"?></div>
<div><config></div>
<div>  <luceneMatchVersion>8.0.0</luceneMatchVersion></div>
<div>  <lib dir="${solr.install.dir:../../../..}/contrib/extraction/lib" regex=".*\.jar"/></div>
<div>  <lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-cell-\d.*\.jar"/></div>
<div>  <lib dir="${solr.install.dir:../../../..}/contrib/clustering/lib/" regex=".*\.jar"/></div>
<div>  <lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-clustering-\d.*\.jar"/></div>
<div>  <lib dir="${solr.install.dir:../../../..}/contrib/langid/lib/" regex=".*\.jar"/></div>
<div>  <lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-langid-\d.*\.jar"/></div>
<div>  <lib dir="${solr.install.dir:../../../..}/contrib/velocity/lib" regex=".*\.jar"/></div>
<div>  <lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-velocity-\d.*\.jar"/></div>
<div>  <lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-ltr-\d.*\.jar"/></div>
<div>  <dataDir>${solr.data.dir:}</dataDir></div>
<div>  <directoryFactory name="DirectoryFactory" class="${solr.directoryFactory:solr.NRTCachingDirectoryFactory}"/></div>
<div>  <codecFactory class="solr.SchemaCodecFactory"/></div>
<div>  <indexConfig></div>
<div>    <lockType>${solr.lock.type:native}</lockType></div>
<div>  </indexConfig></div>
<div>  <jmx/></div>
<div>  <updateHandler class="solr.DirectUpdateHandler2"></div>
<div>    <updateLog></div>
<div>      <str name="dir">${solr.ulog.dir:}</str></div>
<div>      <int name="numVersionBuckets">${solr.ulog.numVersionBuckets:65536}</int></div>
<div>    </updateLog></div>
<div>    <autoCommit></div>
<div>      <maxTime>${solr.autoCommit.maxTime:15000}</maxTime></div>
<div>      <openSearcher>false</openSearcher></div>
<div>    </autoCommit></div>
<div>    <autoSoftCommit></div>
<div>      <maxTime>${solr.autoSoftCommit.maxTime:-1}</maxTime></div>
<div>    </autoSoftCommit></div>
<div>  </updateHandler></div>
<div>  <query></div>
<div>    <maxBooleanClauses>${solr.max.booleanClauses:1024}</maxBooleanClauses></div>
<div>    <filterCache class="solr.FastLRUCache" size="512" initialSize="512" autowarmCount="0"/></div>
<div>    <queryResultCache class="solr.LRUCache" size="512" initialSize="512" autowarmCount="0"/></div>
<div>    <documentCache class="solr.LRUCache" size="512" initialSize="512" autowarmCount="0"/></div>
<div>    <cache name="perSegFilter" class="solr.search.LRUCache" size="10" initialSize="0" autowarmCount="10" regenerator="solr.NoOpRegenerator"/></div>
<div>    <enableLazyFieldLoading>true</enableLazyFieldLoading></div>
<div>    <queryResultWindowSize>20</queryResultWindowSize></div>
<div>    <queryResultMaxDocsCached>200</queryResultMaxDocsCached></div>
<div>    <listener event="newSearcher" class="solr.QuerySenderListener"></div>
<div>      <arr name="queries"/></div>
<div>    </listener></div>
<div>    <listener event="firstSearcher" class="solr.QuerySenderListener"></div>
<div>      <arr name="queries"/></div>
<div>    </listener></div>
<div>    <useColdSearcher>false</useColdSearcher></div>
<div>  </query></div>
<div>  <requestDispatcher></div>
<div>    <httpCaching never304="true"/></div>
<div>  </requestDispatcher></div>
<div>  <requestHandler name="/select" class="solr.SearchHandler"></div>
<div>    <lst name="defaults"></div>
<div>      <str name="echoParams">explicit</str></div>
<div>      <int name="rows">10</int></div>
<div>    </lst></div>
<div>  </requestHandler></div>
<div>  <requestHandler name="/query" class="solr.SearchHandler"></div>
<div>    <lst name="defaults"></div>
<div>      <str name="echoParams">explicit</str></div>
<div>      <str name="wt">json</str></div>
<div>      <str name="indent">true</str></div>
<div>    </lst></div>
<div>  </requestHandler></div>
<div>  <requestHandler name="/browse" class="solr.SearchHandler" useParams="query,facets,velocity,browse"></div>
<div>    <lst name="defaults"></div>
<div>      <str name="echoParams">explicit</str></div>
<div>    </lst></div>
<div>  </requestHandler></div>
<div>  <initParams path="/update/**,/query,/select,/tvrh,/elevate,/spell,/browse"></div>
<div>    <lst name="defaults"></div>
<div>      <str name="df">_text_</str></div>
<div>    </lst></div>
<div>  </initParams></div>
<div>  <requestHandler name="/update/extract" startup="lazy" class="solr.extraction.ExtractingRequestHandler"></div>
<div>    <lst name="defaults"></div>
<div>      <str name="lowernames">true</str></div>
<div>      <str name="fmap.content">_text_</str></div>
<div>    </lst></div>
<div>  </requestHandler></div>
<div>  <searchComponent name="spellcheck" class="solr.SpellCheckComponent"></div>
<div>    <str name="queryAnalyzerFieldType">text_general</str></div>
<div>    <lst name="spellchecker"></div>
<div>      <str name="name">default</str></div>
<div>      <str name="field">_text_</str></div>
<div>      <str name="classname">solr.DirectSolrSpellChecker</str></div>
<div>      <str name="distanceMeasure">internal</str></div>
<div>      <float name="accuracy">0.5</float></div>
<div>      <int name="maxEdits">2</int></div>
<div>      <int name="minPrefix">1</int></div>
<div>      <int name="maxInspections">5</int></div>
<div>      <int name="minQueryLength">4</int></div>
<div>      <float name="maxQueryFrequency">0.01</float></div>
<div>    </lst></div>
<div>  </searchComponent></div>
<div>  <requestHandler name="/spell" class="solr.SearchHandler" startup="lazy"></div>
<div>    <lst name="defaults"></div>
<div>      <str name="spellcheck.dictionary">default</str></div>
<div>      <str name="spellcheck">on</str></div>
<div>      <str name="spellcheck.extendedResults">true</str></div>
<div>      <str name="spellcheck.count">10</str></div>
<div>      <str name="spellcheck.alternativeTermCount">5</str></div>
<div>      <str name="spellcheck.maxResultsForSuggest">5</str></div>
<div>      <str name="spellcheck.collate">true</str></div>
<div>      <str name="spellcheck.collateExtendedResults">true</str></div>
<div>      <str name="spellcheck.maxCollationTries">10</str></div>
<div>      <str name="spellcheck.maxCollations">5</str></div>
<div>    </lst></div>
<div>    <arr name="last-components"></div>
<div>      <str>spellcheck</str></div>
<div>    </arr></div>
<div>  </requestHandler></div>
<div>  <searchComponent name="tvComponent" class="solr.TermVectorComponent"/></div>
<div>  <requestHandler name="/tvrh" class="solr.SearchHandler" startup="lazy"></div>
<div>    <lst name="defaults"></div>
<div>      <bool name="tv">true</bool></div>
<div>    </lst></div>
<div>    <arr name="last-components"></div>
<div>      <str>tvComponent</str></div>
<div>    </arr></div>
<div>  </requestHandler></div>
<div>  <searchComponent name="terms" class="solr.TermsComponent"/></div>
<div>  <requestHandler name="/terms" class="solr.SearchHandler" startup="lazy"></div>
<div>    <lst name="defaults"></div>
<div>      <bool name="terms">true</bool></div>
<div>      <bool name="distrib">false</bool></div>
<div>    </lst></div>
<div>    <arr name="components"></div>
<div>      <str>terms</str></div>
<div>    </arr></div>
<div>  </requestHandler></div>
<div>  <searchComponent name="elevator" class="solr.QueryElevationComponent"></div>
<div>    <str name="queryFieldType">string</str></div>
<div>  </searchComponent></div>
<div>  <requestHandler name="/elevate" class="solr.SearchHandler" startup="lazy"></div>
<div>    <lst name="defaults"></div>
<div>      <str name="echoParams">explicit</str></div>
<div>    </lst></div>
<div>    <arr name="last-components"></div>
<div>      <str>elevator</str></div>
<div>    </arr></div>
<div>  </requestHandler></div>
<div>  <searchComponent class="solr.HighlightComponent" name="highlight"></div>
<div>    <highlighting></div>
<div>      <fragmenter name="gap" default="true" class="solr.highlight.GapFragmenter"></div>
<div>        <lst name="defaults"></div>
<div>          <int name="hl.fragsize">100</int></div>
<div>        </lst></div>
<div>      </fragmenter></div>
<div>      <fragmenter name="regex" class="solr.highlight.RegexFragmenter"></div>
<div>        <lst name="defaults"></div>
<div>          <int name="hl.fragsize">70</int></div>
<div>          <float name="hl.regex.slop">0.5</float></div>
<div>          <str name="hl.regex.pattern">[-\w ,/\n\"']{20,200}</str></div>
<div>        </lst></div>
<div>      </fragmenter></div>
<div>      <formatter name="html" default="true" class="solr.highlight.HtmlFormatter"></div>
<div>        <lst name="defaults"></div>
<div>          <str name="hl.simple.pre"><![CDATA[<em>]]></str></div>
<div>          <str name="hl.simple.post"><![CDATA[</em>]]></str></div>
<div>        </lst></div>
<div>      </formatter></div>
<div>      <encoder name="html" class="solr.highlight.HtmlEncoder"/></div>
<div>      <fragListBuilder name="simple" class="solr.highlight.SimpleFragListBuilder"/></div>
<div>      <fragListBuilder name="single" class="solr.highlight.SingleFragListBuilder"/></div>
<div>      <fragListBuilder name="weighted" default="true" class="solr.highlight.WeightedFragListBuilder"/></div>
<div>      <fragmentsBuilder name="default" default="true" class="solr.highlight.ScoreOrderFragmentsBuilder"/></div>
<div>      <fragmentsBuilder name="colored" class="solr.highlight.ScoreOrderFragmentsBuilder"></div>
<div>        <lst name="defaults"></div>
<div>          <str name="hl.tag.pre"><![CDATA[</div>
<div>               <b style="background:yellow">,<b style="background:lawgreen">,</div>
<div>               <b style="background:aquamarine">,<b style="background:magenta">,</div>
<div>               <b style="background:palegreen">,<b style="background:coral">,</div>
<div>               <b style="background:wheat">,<b style="background:khaki">,</div>
<div>               <b style="background:lime">,<b style="background:deepskyblue">]]></str></div>
<div>          <str name="hl.tag.post"><![CDATA[</b>]]></str></div>
<div>        </lst></div>
<div>      </fragmentsBuilder></div>
<div>      <boundaryScanner name="default" default="true" class="solr.highlight.SimpleBoundaryScanner"></div>
<div>        <lst name="defaults"></div>
<div>          <str name="hl.bs.maxScan">10</str></div>
<div>          <str name="hl.bs.chars">.,!?</div>
<div>&#13;</str></div>
<div>        </lst></div>
<div>      </boundaryScanner></div>
<div>      <boundaryScanner name="breakIterator" class="solr.highlight.BreakIteratorBoundaryScanner"></div>
<div>        <lst name="defaults"></div>
<div>          <str name="hl.bs.type">WORD</str></div>
<div>          <str name="hl.bs.language">en</str></div>
<div>          <str name="hl.bs.country">US</str></div>
<div>        </lst></div>
<div>      </boundaryScanner></div>
<div>    </highlighting></div>
<div>  </searchComponent></div>
<div>  <updateProcessor class="solr.UUIDUpdateProcessorFactory" name="uuid"/></div>
<div>  <updateProcessor class="solr.RemoveBlankFieldUpdateProcessorFactory" name="remove-blank"/></div>
<div>  <updateProcessor class="solr.FieldNameMutatingUpdateProcessorFactory" name="field-name-mutating"></div>
<div>    <str name="pattern">[^\w-\.]</str></div>
<div>    <str name="replacement">_</str></div>
<div>  </updateProcessor></div>
<div>  <updateProcessor class="solr.ParseBooleanFieldUpdateProcessorFactory" name="parse-boolean"/></div>
<div>  <updateProcessor class="solr.ParseLongFieldUpdateProcessorFactory" name="parse-long"/></div>
<div>  <updateProcessor class="solr.ParseDoubleFieldUpdateProcessorFactory" name="parse-double"/></div>
<div>  <updateProcessor class="solr.ParseDateFieldUpdateProcessorFactory" name="parse-date"></div>
<div>    <arr name="format"></div>
<div>      <str>yyyy-MM-dd['T'[HH:mm[:ss[.SSS]][z</str></div>
<div>      <str>yyyy-MM-dd['T'[HH:mm[:ss[,SSS]][z</str></div>
<div>      <str>yyyy-MM-dd HH:mm[:ss[.SSS]][z</str></div>
<div>      <str>yyyy-MM-dd HH:mm[:ss[,SSS]][z</str></div>
<div>      <str>[EEE, ]dd MMM yyyy HH:mm[:ss] z</str></div>
<div>      <str>EEEE, dd-MMM-yy HH:mm:ss z</str></div>
<div>      <str>EEE MMM ppd HH:mm:ss [z ]yyyy</str></div>
<div>    </arr></div>
<div>  </updateProcessor></div>
<div>  <updateProcessor class="solr.AddSchemaFieldsUpdateProcessorFactory" name="add-schema-fields"></div>
<div>    <lst name="typeMapping"></div>
<div>      <str name="valueClass">java.lang.String</str></div>
<div>      <str name="fieldType">text_general</str></div>
<div>      <lst name="copyField"></div>
<div>        <str name="dest">*_str</str></div>
<div>        <int name="maxChars">256</int></div>
<div>      </lst></div>
<div>      <bool name="default">true</bool></div>
<div>    </lst></div>
<div>    <lst name="typeMapping"></div>
<div>      <str name="valueClass">java.lang.Boolean</str></div>
<div>      <str name="fieldType">booleans</str></div>
<div>    </lst></div>
<div>    <lst name="typeMapping"></div>
<div>      <str name="valueClass">java.util.Date</str></div>
<div>      <str name="fieldType">pdates</str></div>
<div>    </lst></div>
<div>    <lst name="typeMapping"></div>
<div>      <str name="valueClass">java.lang.Long</str></div>
<div>      <str name="valueClass">java.lang.Integer</str></div>
<div>      <str name="fieldType">plongs</str></div>
<div>    </lst></div>
<div>    <lst name="typeMapping"></div>
<div>      <str name="valueClass">java.lang.Number</str></div>
<div>      <str name="fieldType">pdoubles</str></div>
<div>    </lst></div>
<div>  </updateProcessor></div>
<div>  <updateRequestProcessorChain name="add-unknown-fields-to-the-schema" default="${update.autoCreateFields:true}" processor="uuid,remove-blank,field-name-mutating,parse-boolean,parse-long,parse-double,parse-date,add-schema-fields"></div>
<div>    <processor class="solr.LogUpdateProcessorFactory"/></div>
<div>    <processor class="solr.DistributedUpdateProcessorFactory"/></div>
<div>    <processor class="solr.RunUpdateProcessorFactory"/></div>
<div>  </updateRequestProcessorChain></div>
<div>  <queryResponseWriter name="json" class="solr.JSONResponseWriter"></div>
<div>    <str name="content-type">text/plain; charset=UTF-8</str></div>
<div>  </queryResponseWriter></div>
<div>  <queryResponseWriter name="velocity" class="solr.VelocityResponseWriter" startup="lazy"></div>
<div>    <str name="template.base.dir">${velocity.template.base.dir:}</str></div>
<div>    <str name="solr.resource.loader.enabled">${velocity.solr.resource.loader.enabled:true}</str></div>
<div>    <str name="params.resource.loader.enabled">${velocity.params.resource.loader.enabled:false}</str></div>
<div>  </queryResponseWriter></div>
<div>  <queryResponseWriter name="xslt" class="solr.XSLTResponseWriter"></div>
<div>    <int name="xsltCacheLifetimeSeconds">5</int></div>
<div>  </queryResponseWriter></div>
<div></config></div>
</div>
<div><br>
</div>
<div><br>
</div>
</div>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Tue, Apr 23, 2019 at 10:57 AM luckydog xf <<a href="mailto:luckydogxf@gmail.com" target="_blank">luckydogxf@gmail.com</a>> wrote:<br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex; border-left:1px solid rgb(204,204,204); padding-left:1ex">
<div dir="ltr">
<div dir="ltr">
<div dir="ltr">
<div dir="ltr">
<div dir="ltr">
<div>Hello, it seems an  mismatch of schema file provided by dovecot-2.3.5.2 </div>
<div><br>
</div>
<div dir="ltr">[root@mail conf]# pwd</div>
<div dir="ltr">/var/solr/data/dovecot/conf</div>
<div dir="ltr"><br>
</div>
<div># Below solrconfig.xml is from Solr-8.0.0.</div>
<div><br>
</div>
<div dir="ltr">[root@mail conf]# grep text_general solrconfig.xml</div>
<div dir="ltr"><br>
</div>
<div dir="ltr">    <str name="queryAnalyzerFieldType">text_general</str></div>
<div dir="ltr">       field types. Text content will be indexed as "text_general" as</div>
<div dir="ltr">      <str name="fieldType">text_general</str></div>
<div><br>
</div>
<div># schema is from /usr/share/doc/dovecot/solr-schema.xml</div>
<div><br>
</div>
<div>dovecot-2.3.5.2 and the latest solr-8.0.0.<br>
</div>
<div><br>
</div>
<div>It seems XMLs do not match each other. How can I fix this problem?</div>
<div><br>
</div>
<div>Thanks.</div>
<div><br>
</div>
<div><br>
</div>
</div>
</div>
</div>
</div>
</div>
</blockquote>
</div>
</blockquote>
</div>
</div>
</body>
</html>