You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-user@lucene.apache.org by paulparsons <pa...@gmail.com> on 2014/09/22 18:51:44 UTC

Schema Parsing Failed: unknown field 'id' [Zookeeper, SolrCloud]

Hi,

I'm trying to set up a multicore SolrCloud on HDFS. I am getting the
following error for all my cores when trying to start the server:

ERROR org.apache.solr.core.CoreContainer  – Unable to create core: <core
name>
org.apache.solr.common.SolrException: Schema Parsing Failed: unknown field
'id'. Schema file is solr/<core name>/schema.xml
	at org.apache.solr.schema.IndexSchema.readSchema(IndexSchema.java:618)
	at org.apache.solr.schema.IndexSchema.<init>(IndexSchema.java:166)
	at
org.apache.solr.schema.IndexSchemaFactory.create(IndexSchemaFactory.java:55)
	at
org.apache.solr.schema.IndexSchemaFactory.buildIndexSchema(IndexSchemaFactory.java:69)
	at org.apache.solr.core.ZkContainer.createFromZk(ZkContainer.java:243)
	at org.apache.solr.core.CoreContainer.create(CoreContainer.java:595)
	at org.apache.solr.core.CoreContainer$1.call(CoreContainer.java:258)
	at org.apache.solr.core.CoreContainer$1.call(CoreContainer.java:250)
	at java.util.concurrent.FutureTask.run(FutureTask.java:273)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:482)
	at java.util.concurrent.FutureTask.run(FutureTask.java:273)
	at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1176)
	at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
	at java.lang.Thread.run(Thread.java:853)
Caused by: java.lang.RuntimeException: unknown field 'id'
	at org.apache.solr.schema.IndexSchema.getIndexedField(IndexSchema.java:340)
	at org.apache.solr.schema.IndexSchema.readSchema(IndexSchema.java:536)
	... 13 more


There is nothing wrong with the declaration of the 'id' field, and I have it
working fine when it's not using SolrCloud/HDFS. One odd thing is the part
that says "Schema file is solr/<core name>/schema.xml", because there is no
schema file there. I have no idea where it is getting that path from. All of
the schema files are in solr/<core name>/conf/schema.xml. I'm not sure if
this is the problem--it must be finding the schema, otherwise how does it
know about the 'id' field?

I am running it with the following command (with <> fields filled in
appropriately):

java -DnumShards=2 -Dbootstrap_conf=true -DzkHost=<host>:2181 -Dhost=<host>
-DSTOP.PORT=7983 -DSTOP.KEY=key -Dsolr.directoryFactory=HdfsDirectoryFactory
-Dsolr.hdfs.confdir=<dir>/hadoop-conf -Dsolr.lock.type=hdfs
-Dsolr.hdfs.home=hdfs:///user/pparsons/solrcloud -jar start.jar



--
View this message in context: http://lucene.472066.n3.nabble.com/Schema-Parsing-Failed-unknown-field-id-Zookeeper-SolrCloud-tp4160478.html
Sent from the Solr - User mailing list archive at Nabble.com.

Re: Schema Parsing Failed: unknown field 'id' [Zookeeper, SolrCloud]

Posted by Chris Hostetter <ho...@fucit.org>.
: out how to remove the configs from zookeeper through the cloud scripts, so I
: just manually removed the files in the zookeeper data directory.

https://cwiki.apache.org/confluence/display/solr/Using+ZooKeeper+to+Manage+Configuration+Files
https://cwiki.apache.org/confluence/display/solr/Command+Line+Utilities

Solr's zkcli.sh with "-cmd putfile" will replace a single file, or you can 
use "-cmd upconfig" to completley upload a new configset.



-Hoss
http://www.lucidworks.com/

Re: Schema Parsing Failed: unknown field 'id' [Zookeeper, SolrCloud]

Posted by paulparsons <pa...@gmail.com>.
Thanks for the suggestions. I actually had both problems. I couldn't figure
out how to remove the configs from zookeeper through the cloud scripts, so I
just manually removed the files in the zookeeper data directory.



--
View this message in context: http://lucene.472066.n3.nabble.com/Schema-Parsing-Failed-unknown-field-id-Zookeeper-SolrCloud-tp4160478p4160580.html
Sent from the Solr - User mailing list archive at Nabble.com.

Re: Schema Parsing Failed: unknown field 'id' [Zookeeper, SolrCloud]

Posted by Erick Erickson <er...@gmail.com>.
One other possibility in addition to Hoss' comments.
Did you load a version of your configs to ZooKeeper
sometime that didn't have these fields? I don't quite
know where the schema and solrconfig files came
from, but the fact that they're on a local disk says
nothing about what's in ZooKeeper. When you
follow the SolrCloud tutorial, the -Dbootstrap_confdir
loads the Solr configuration files up to ZK, and
thereafter any Solr starting up will use them
(assuming they're linked). So it's possible that you
uploaded something some time ago that you're using
every time you try to start SolrCloud.

P.S. You can pull them down from ZK with the
scripts in the example/scripts/cloud-scripts

FWIW,
Erick

On Mon, Sep 22, 2014 at 12:19 PM, Chris Hostetter
<ho...@fucit.org> wrote:
>
> : Thanks. There is definitely a <field name="id" .../> in each of the schemas.
> :
> : I am using 4.7.2.
>
> if this conig is working for you when you don't use zookeeper/hdfs then
> you must be using a newer version of Solr when you test w/ zk/hdfs
>
>
> 4.8.0 is when the <fields> and <type> section tags were deprecated.
>
> in 4.7.x and earlier you *must* enclose all of your <field> and
> <fieldType> tags in the appropriate sections.
>
> See the 4.7.2 example configs and compare to yours.
>
>
> From the 4.8.0 upgrade notes...
>
> <fields> and <types> tags have been deprecated. There is no longer any
> reason to keep them in the schema file, they may be safely removed. This
> allows intermixing of <fieldType>, <field> and <copyField> definitions if
> desired. Currently, these tags are supported so either style may be
> implemented. TBD is whether they'll be deprecated formally for 5.0
>
> https://issues.apache.org/jira/browse/SOLR-5228
>
>
>
> :
> : Here is one of the *schema.xml* (the others are similar):
> :
> :
> : <schema name="medline-citations" version="1.5">
> :    <field name="_version_" type="long" indexed="true" stored="true"/>
> :    <field name="_root_" type="string" indexed="true" stored="false"/>
> :    <field name="id" type="string" indexed="true" stored="true"
> : required="true" multiValued="false" />
> :    <field name="medline_journal_title" type="text_en" indexed="true"
> : stored="true" />
> :    <field name="medline_article_title" type="text_en" indexed="true"
> : stored="true" termVectors="true" termPositions="true" termOffsets="true"/>
> :    <field name="medline_pub_year" type="int" indexed="true" stored="true" />
> :    <field name="medline_author_lastname" type="string" indexed="true"
> : stored="true" multiValued="true"/>
> :    <field name="medline_author_forename" type="string" indexed="true"
> : stored="true" multiValued="true"/>
> :    <field name="medline_descriptor_name" type="string" indexed="true"
> : stored="true" multiValued="true" docValues="true"/>
> :    <field name="medline_abstract_text" type="text_en" indexed="true"
> : stored="true" termVectors="true" termPositions="true" termOffsets="true"/>
> :    <field name="medline_e_id" type="string" indexed="true" stored="true"/>
> :   <field name="sentences" type="text_en" indexed="true" stored="true"
> : multiValued="true" required="false" />
> :   <field name="genes" type="string" indexed="true" stored="true"
> : multiValued="true" required="false" />
> :   <field name="phenotypes" type="text_en" indexed="true" stored="true"
> : multiValued="true" required="false" />
> :    <field name="catchall" type="text_general" indexed="true" stored="false"
> : multiValued="true"/>
> :    <field name="suggestions" indexed="true" multiValued="false"
> : stored="true" type="textSpell"/>
> :    <field name="medline_journal_title_facets" indexed="true" stored="false"
> : type="string" multiValued="true" docValues="true"/>
> :
> :  <uniqueKey>id</uniqueKey>
> :
> :    <copyField source="medline_journal_title"
> : dest="medline_journal_title_facets"/>
> :
> :     <fieldType class="solr.TextField" name="textSpell"
> : positionIncrementGap="100">
> :     <analyzer>
> :       <tokenizer class="solr.KeywordTokenizerFactory"/>
> :       <filter class="solr.LowerCaseFilterFactory"/>
> :    </analyzer>
> :   </fieldType>
> :
> :     <fieldType name="string" class="solr.StrField" sortMissingLast="true" />
> :
> :     <fieldType name="boolean" class="solr.BoolField"
> : sortMissingLast="true"/>
> :
> :     <fieldType name="int" class="solr.TrieIntField" precisionStep="0"
> : positionIncrementGap="0"/>
> :     <fieldType name="float" class="solr.TrieFloatField" precisionStep="0"
> : positionIncrementGap="0"/>
> :     <fieldType name="long" class="solr.TrieLongField" precisionStep="0"
> : positionIncrementGap="0"/>
> :     <fieldType name="double" class="solr.TrieDoubleField" precisionStep="0"
> : positionIncrementGap="0"/>
> :     <fieldType name="tint" class="solr.TrieIntField" precisionStep="8"
> : positionIncrementGap="0"/>
> :     <fieldType name="tfloat" class="solr.TrieFloatField" precisionStep="8"
> : positionIncrementGap="0"/>
> :     <fieldType name="tlong" class="solr.TrieLongField" precisionStep="8"
> : positionIncrementGap="0"/>
> :     <fieldType name="tdouble" class="solr.TrieDoubleField" precisionStep="8"
> : positionIncrementGap="0"/>
> :     <fieldType name="date" class="solr.TrieDateField" precisionStep="0"
> : positionIncrementGap="0"/>
> :     <fieldType name="tdate" class="solr.TrieDateField" precisionStep="6"
> : positionIncrementGap="0"/>
> :     <fieldtype name="binary" class="solr.BinaryField"/>
> :     <fieldType name="random" class="solr.RandomSortField" indexed="true" />
> :     <fieldType name="text_general" class="solr.TextField"
> : positionIncrementGap="100">
> :       <analyzer type="index">
> :         <tokenizer class="solr.StandardTokenizerFactory"/>
> :         <filter class="solr.StopFilterFactory" ignoreCase="true"
> : words="stopwords.txt" />
> :         <filter class="solr.LowerCaseFilterFactory"/>
> :       </analyzer>
> :       <analyzer type="query">
> :         <tokenizer class="solr.StandardTokenizerFactory"/>
> :         <filter class="solr.StopFilterFactory" ignoreCase="true"
> : words="stopwords.txt" />
> :         <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt"
> : ignoreCase="true" expand="true"/>
> :         <filter class="solr.LowerCaseFilterFactory"/>
> :       </analyzer>
> :     </fieldType>
> :
> :     <fieldType name="text_en" class="solr.TextField"
> : positionIncrementGap="100">
> :       <analyzer type="index">
> :         <tokenizer class="solr.StandardTokenizerFactory"/>
> :
> :
> :         <filter class="solr.StopFilterFactory"
> :                 ignoreCase="true"
> :                 words="lang/stopwords_en.txt"
> :                 />
> :         <filter class="solr.LowerCaseFilterFactory"/>
> :             <filter class="solr.EnglishPossessiveFilterFactory"/>
> :         <filter class="solr.KeywordMarkerFilterFactory"
> : protected="protwords.txt"/>
> :
> :         <filter class="solr.PorterStemFilterFactory"/>
> :       </analyzer>
> :       <analyzer type="query">
> :         <tokenizer class="solr.StandardTokenizerFactory"/>
> :         <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt"
> : ignoreCase="true" expand="true"/>
> :         <filter class="solr.StopFilterFactory"
> :                 ignoreCase="true"
> :                 words="lang/stopwords_en.txt"
> :                 />
> :         <filter class="solr.LowerCaseFilterFactory"/>
> :             <filter class="solr.EnglishPossessiveFilterFactory"/>
> :         <filter class="solr.KeywordMarkerFilterFactory"
> : protected="protwords.txt"/>
> :
> :         <filter class="solr.PorterStemFilterFactory"/>
> :       </analyzer>
> :     </fieldType>
> :
> :
> :     <fieldType name="lowercase" class="solr.TextField"
> : positionIncrementGap="100">
> :       <analyzer>
> :         <tokenizer class="solr.KeywordTokenizerFactory"/>
> :         <filter class="solr.LowerCaseFilterFactory" />
> :       </analyzer>
> :     </fieldType>
> :
> :
> :     <fieldtype name="ignored" stored="false" indexed="false"
> : multiValued="true" class="solr.StrField" />
> :
> : </schema>
> :
> : Here is the corresponding *solrconfig.xml*:
> :
> :
> : <?xml version="1.0" encoding="UTF-8" ?>
> : <config>
> :
> :   <luceneMatchVersion>4.7</luceneMatchVersion>
> :
> :   <lib dir="../../../contrib/dataimporthandler/lib" regex=".*\.jar" />
> :   <lib dir="../../../dist/" regex="solr-dataimporthandler-\d.*\.jar" />
> :   <lib dir="../../../dist/" regex="solr-dataimporthandler-extras-\d.*\.jar"
> : />
> :
> :   <lib dir="../../../contrib/extraction/lib" regex="xmlbeans-\d.*\.jar" />
> :
> :   <lib dir="../../../contrib/uima/lib" />
> :   <lib dir="../../../contrib/uima/lucene-libs" />
> :   <lib dir="../../../dist/" regex="solr-uima-\d.*\.jar" />
> :
> :   <dataDir>${solr.medline-citations.data.dir:}</dataDir>
> :
> :   <directoryFactory name="DirectoryFactory"
> :
> : class="${solr.directoryFactory:solr.NRTCachingDirectoryFactory}">
> :
> :   </directoryFactory>
> :
> :   <codecFactory class="solr.SchemaCodecFactory"/>
> :
> :   <schemaFactory class="ClassicIndexSchemaFactory"/>
> :
> :   <indexConfig>
> :     <lockType>${solr.lock.type:native}</lockType>
> :     <infoStream>true</infoStream>
> :   </indexConfig>
> :
> :   <jmx />
> :
> :
> :   <updateHandler class="solr.DirectUpdateHandler2">
> :
> :     <updateLog>
> :       <str name="dir">${solr.ulog.dir:}</str>
> :     </updateLog>
> :
> :      <autoCommit>
> :        <maxTime>${solr.autoCommit.maxTime:15000}</maxTime>
> :        <openSearcher>false</openSearcher>
> :      </autoCommit>
> :
> :      <autoSoftCommit>
> :        <maxTime>${solr.autoSoftCommit.maxTime:-1}</maxTime>
> :      </autoSoftCommit>
> :
> :   </updateHandler>
> :
> :   <query>
> :
> :     <maxBooleanClauses>1024</maxBooleanClauses>
> :
> :     <filterCache class="solr.FastLRUCache"
> :                  size="512"
> :                  initialSize="512"
> :                  autowarmCount="0"/>
> :
> :     <queryResultCache class="solr.LRUCache"
> :                      size="512"
> :                      initialSize="512"
> :                      autowarmCount="0"/>
> :
> :     <documentCache class="solr.LRUCache"
> :                    size="512"
> :                    initialSize="512"
> :                    autowarmCount="0"/>
> :
> :
> :     <cache name="perSegFilter"
> :       class="solr.search.LRUCache"
> :       size="10"
> :       initialSize="0"
> :       autowarmCount="10"
> :       regenerator="solr.NoOpRegenerator" />
> :
> :     <enableLazyFieldLoading>true</enableLazyFieldLoading>
> :
> :    <queryResultWindowSize>20</queryResultWindowSize>
> :
> :    <queryResultMaxDocsCached>200</queryResultMaxDocsCached>
> :
> :     <listener event="newSearcher" class="solr.QuerySenderListener">
> :       <arr name="queries">
> :
> :       </arr>
> :     </listener>
> :     <listener event="firstSearcher" class="solr.QuerySenderListener">
> :       <arr name="queries">
> :         <lst>
> :           <str name="q">static firstSearcher warming in solrconfig.xml</str>
> :         </lst>
> :       </arr>
> :     </listener>
> :
> :     <useColdSearcher>false</useColdSearcher>
> :
> :     <maxWarmingSearchers>2</maxWarmingSearchers>
> :
> :   </query>
> :
> :   <requestDispatcher handleSelect="false" >
> :
> :     <requestParsers enableRemoteStreaming="true"
> :                     multipartUploadLimitInKB="2048000"
> :                     formdataUploadLimitInKB="2048"
> :                     addHttpRequestToContext="false"/>
> :
> :     <httpCaching never304="true" />
> :
> :   </requestDispatcher>
> :
> :   <requestHandler name="/select" class="solr.SearchHandler">
> :
> :      <lst name="defaults">
> :        <str name="echoParams">explicit</str>
> :        <int name="rows">100</int>
> :        <str name="df">catchall</str>
> :
> :      </lst>
> :
> :     </requestHandler>
> :
> :
> :   <requestHandler name="/query" class="solr.SearchHandler">
> :      <lst name="defaults">
> :        <str name="echoParams">explicit</str>
> :        <str name="wt">json</str>
> :        <str name="indent">true</str>
> :        <str name="df">text</str>
> :      </lst>
> :   </requestHandler>
> :
> :   <requestHandler name="/get" class="solr.RealTimeGetHandler">
> :      <lst name="defaults">
> :        <str name="omitHeader">true</str>
> :        <str name="wt">json</str>
> :        <str name="indent">true</str>
> :      </lst>
> :   </requestHandler>
> :
> :   <requestHandler name="/browse" class="solr.SearchHandler">
> :      <lst name="defaults">
> :        <str name="echoParams">explicit</str>
> :
> :
> :        <str name="wt">velocity</str>
> :        <str name="v.template">browse</str>
> :        <str name="v.layout">layout</str>
> :        <str name="title">Solritas</str>
> :
> :
> :        <str name="defType">edismax</str>
> :        <str name="qf">
> :           catchall^0.5 medline_abstract_text^1.0 medline_journal_title^1.2
> : medline_article_title^1.2 id^10.0
> :        </str>
> :        <str name="df">catchall</str>
> :        <str name="mm">100%</str>
> :        <str name="q.alt">*:*</str>
> :        <str name="rows">10</str>
> :        <str name="fl">*,score</str>
> :
> :        <str name="mlt.qf">
> :          catchall^0.5 medline_abstract_text^1.0 medline_journal_title^1.2
> : medline_article_title^1.2 id^10.0
> :        </str>
> :        <str
> : name="mlt.fl">catchall,medline_article_title,medline_journal_title</str>
> :        <int name="mlt.count">3</int>
> :
> :        <str name="facet">on</str>
> :        <str name="facet.field">medline_author_lastname</str>
> :        <str name="facet.field">medline_journal_title</str>
> :
> :        <str name="hl">on</str>
> :        <str name="hl.fl">medline_abstract_text</str>
> :        <str name="hl.encoder">html</str>
> :        <str name="hl.simple.pre">&lt;b&gt;</str>
> :        <str name="hl.simple.post">&lt;/b&gt;</str>
> :        <str name="f.title.hl.fragsize">0</str>
> :        <str name="f.title.hl.alternateField">medline_abstract_text</str>
> :
> :        <str name="spellcheck">on</str>
> :        <str name="spellcheck.extendedResults">false</str>
> :        <str name="spellcheck.count">5</str>
> :        <str name="spellcheck.alternativeTermCount">2</str>
> :        <str name="spellcheck.maxResultsForSuggest">5</str>
> :        <str name="spellcheck.collate">true</str>
> :        <str name="spellcheck.collateExtendedResults">true</str>
> :        <str name="spellcheck.maxCollationTries">5</str>
> :        <str name="spellcheck.maxCollations">3</str>
> :      </lst>
> :
> :
> :      <arr name="last-components">
> :        <str>spellcheck</str>
> :      </arr>
> :   </requestHandler>
> :
> :
> :   <requestHandler name="/update/json" class="solr.UpdateRequestHandler">
> :         <lst name="defaults">
> :          <str name="stream.contentType">application/json</str>
> :        </lst>
> :   </requestHandler>
> :   <requestHandler name="/update/csv" class="solr.UpdateRequestHandler">
> :         <lst name="defaults">
> :          <str name="stream.contentType">application/csv</str>
> :        </lst>
> :   </requestHandler>
> :
> :
> :   <requestHandler name="/update/extract"
> :                   startup="lazy"
> :                   class="solr.extraction.ExtractingRequestHandler" >
> :     <lst name="defaults">
> :       <str name="lowernames">true</str>
> :       <str name="uprefix">ignored_</str>
> :
> :
> :       <str name="captureAttr">true</str>
> :       <str name="fmap.a">links</str>
> :       <str name="fmap.div">ignored_</str>
> :     </lst>
> :   </requestHandler>
> :
> :   <requestHandler name="/analysis/field"
> :                   startup="lazy"
> :                   class="solr.FieldAnalysisRequestHandler" />
> :
> :   <requestHandler name="/analysis/document"
> :                   class="solr.DocumentAnalysisRequestHandler"
> :                   startup="lazy" />
> :
> :   <requestHandler name="/admin/"
> :                   class="solr.admin.AdminHandlers" />
> :
> :
> :   <requestHandler name="/admin/ping" class="solr.PingRequestHandler">
> :     <lst name="invariants">
> :       <str name="q">solrpingquery</str>
> :     </lst>
> :     <lst name="defaults">
> :       <str name="echoParams">all</str>
> :     </lst>
> :
> :   </requestHandler>
> :
> :
> :   <requestHandler name="/debug/dump" class="solr.DumpRequestHandler" >
> :     <lst name="defaults">
> :      <str name="echoParams">explicit</str>
> :      <str name="echoHandler">true</str>
> :     </lst>
> :   </requestHandler>
> :
> :   <requestHandler name="/replication" class="solr.ReplicationHandler" >
> :   </requestHandler>
> :
> :
> :
> :   <requestHandler name="/medline-citations_ingest"
> : class="org.apache.solr.handler.dataimport.DataImportHandler">
> :     <lst name="defaults">
> :       <str name="config">./medline-citations_DIHconfig.xml</str>
> :       <str name="update.processor">uima</str>
> :     </lst>
> :   </requestHandler>
> :
> :   <searchComponent name="spellcheck" class="solr.SpellCheckComponent">
> :
> :     <str name="queryAnalyzerFieldType">text_general</str>
> :
> :     <lst name="spellchecker">
> :       <str name="name">default</str>
> :       <str name="field">catchall</str>
> :       <str name="classname">solr.DirectSolrSpellChecker</str>
> :
> :       <str name="distanceMeasure">internal</str>
> :
> :       <float name="accuracy">0.5</float>
> :
> :       <int name="maxEdits">2</int>
> :
> :       <int name="minPrefix">1</int>
> :
> :       <int name="maxInspections">5</int>
> :
> :       <int name="minQueryLength">4</int>
> :
> :       <float name="maxQueryFrequency">0.01</float>
> :
> :     </lst>
> :
> :
> :     <lst name="spellchecker">
> :       <str name="name">wordbreak</str>
> :       <str name="classname">solr.WordBreakSolrSpellChecker</str>
> :       <str name="field">name</str>
> :       <str name="combineWords">true</str>
> :       <str name="breakWords">true</str>
> :       <int name="maxChanges">10</int>
> :     </lst>
> :
> :   </searchComponent>
> :
> :   <requestHandler name="/spell" class="solr.SearchHandler" startup="lazy">
> :     <lst name="defaults">
> :       <str name="df">catchall</str>
> :
> :       <str name="spellcheck.dictionary">default</str>
> :       <str name="spellcheck.dictionary">wordbreak</str>
> :       <str name="spellcheck">on</str>
> :       <str name="spellcheck.extendedResults">true</str>
> :       <str name="spellcheck.count">10</str>
> :       <str name="spellcheck.alternativeTermCount">5</str>
> :       <str name="spellcheck.maxResultsForSuggest">5</str>
> :       <str name="spellcheck.collate">true</str>
> :       <str name="spellcheck.collateExtendedResults">true</str>
> :       <str name="spellcheck.maxCollationTries">10</str>
> :       <str name="spellcheck.maxCollations">5</str>
> :     </lst>
> :     <arr name="last-components">
> :       <str>spellcheck</str>
> :     </arr>
> :   </requestHandler>
> :
> :   <searchComponent class="solr.SpellCheckComponent" name="suggest">
> :     <lst name="spellchecker">
> :       <str name="name">suggest</str>
> :       <str name="classname">org.apache.solr.spelling.suggest.Suggester</str>
> :       <str
> : name="lookupImpl">org.apache.solr.spelling.suggest.tst.TSTLookupFactory</str>
> :
> :       <str name="field">suggestions</str>
> :
> :       <str name="buildOnCommit">true</str>
> :
> :     </lst>
> :   </searchComponent>
> :
> :   <requestHandler class="solr.SearchHandler" name="/suggest">
> :     <lst name="defaults">
> :       <str name="spellcheck">true</str>
> :       <str name="spellcheck.dictionary">suggest</str>
> :
> :       <str name="spellcheck.count">10</str>
> :
> :     </lst>
> :     <arr name="components">
> :       <str>suggest</str>
> :     </arr>
> :   </requestHandler>
> :
> :
> :
> :   <searchComponent name="tvComponent" class="solr.TermVectorComponent"/>
> :
> :   <requestHandler name="/tvrh" class="solr.SearchHandler" startup="lazy">
> :     <lst name="defaults">
> :       <str name="df">text</str>
> :       <bool name="tv">true</bool>
> :     </lst>
> :     <arr name="last-components">
> :       <str>tvComponent</str>
> :     </arr>
> :   </requestHandler>
> :
> :   <searchComponent name="clustering"
> :                    enable="${solr.clustering.enabled:false}"
> :                    class="solr.clustering.ClusteringComponent" >
> :     <lst name="engine">
> :       <str name="name">lingo</str>
> :
> :       <str
> : name="carrot.algorithm">org.carrot2.clustering.lingo.LingoClusteringAlgorithm</str>
> :
> :       <str name="carrot.resourcesDir">clustering/carrot2</str>
> :     </lst>
> :
> :
> :     <lst name="engine">
> :       <str name="name">stc</str>
> :       <str
> : name="carrot.algorithm">org.carrot2.clustering.stc.STCClusteringAlgorithm</str>
> :     </lst>
> :
> :
> :     <lst name="engine">
> :       <str name="name">kmeans</str>
> :       <str
> : name="carrot.algorithm">org.carrot2.clustering.kmeans.BisectingKMeansClusteringAlgorithm</str>
> :     </lst>
> :   </searchComponent>
> :
> :
> :   <searchComponent name="terms" class="solr.TermsComponent"/>
> :
> :
> :   <requestHandler name="/terms" class="solr.SearchHandler" startup="lazy">
> :      <lst name="defaults">
> :       <bool name="terms">true</bool>
> :       <bool name="distrib">false</bool>
> :     </lst>
> :     <arr name="components">
> :       <str>terms</str>
> :     </arr>
> :   </requestHandler>
> :
> :
> :
> :   <searchComponent name="elevator" class="solr.QueryElevationComponent" >
> :
> :     <str name="queryFieldType">string</str>
> :     <str name="config-file">elevate.xml</str>
> :   </searchComponent>
> :
> :
> :   <requestHandler name="/elevate" class="solr.SearchHandler" startup="lazy">
> :     <lst name="defaults">
> :       <str name="echoParams">explicit</str>
> :       <str name="df">text</str>
> :     </lst>
> :     <arr name="last-components">
> :       <str>elevator</str>
> :     </arr>
> :   </requestHandler>
> :
> :
> :   <searchComponent class="solr.HighlightComponent" name="highlight">
> :     <highlighting>
> :
> :
> :       <fragmenter name="gap"
> :                   default="true"
> :                   class="solr.highlight.GapFragmenter">
> :         <lst name="defaults">
> :           <int name="hl.fragsize">100</int>
> :         </lst>
> :       </fragmenter>
> :
> :
> :       <fragmenter name="regex"
> :                   class="solr.highlight.RegexFragmenter">
> :         <lst name="defaults">
> :
> :           <int name="hl.fragsize">70</int>
> :
> :           <float name="hl.regex.slop">0.5</float>
> :
> :           <str name="hl.regex.pattern">[-\w ,/\n\&quot;&apos;]{20,200}</str>
> :         </lst>
> :       </fragmenter>
> :
> :
> :       <formatter name="html"
> :                  default="true"
> :                  class="solr.highlight.HtmlFormatter">
> :         <lst name="defaults">
> :           <str name="hl.simple.pre"></str>
> :           <str name="hl.simple.post"></str>
> :         </lst>
> :       </formatter>
> :
> :
> :       <encoder name="html"
> :                class="solr.highlight.HtmlEncoder" />
> :
> :
> :       <fragListBuilder name="simple"
> :                        class="solr.highlight.SimpleFragListBuilder"/>
> :
> :
> :       <fragListBuilder name="single"
> :                        class="solr.highlight.SingleFragListBuilder"/>
> :
> :
> :       <fragListBuilder name="weighted"
> :                        default="true"
> :                        class="solr.highlight.WeightedFragListBuilder"/>
> :
> :
> :       <fragmentsBuilder name="default"
> :                         default="true"
> :                         class="solr.highlight.ScoreOrderFragmentsBuilder">
> :
> :       </fragmentsBuilder>
> :
> :
> :       <fragmentsBuilder name="colored"
> :                         class="solr.highlight.ScoreOrderFragmentsBuilder">
> :         <lst name="defaults">
> :           <str name="hl.tag.pre"></str>
> :           <str name="hl.tag.post"></str>
> :         </lst>
> :       </fragmentsBuilder>
> :
> :       <boundaryScanner name="default"
> :                        default="true"
> :                        class="solr.highlight.SimpleBoundaryScanner">
> :         <lst name="defaults">
> :           <str name="hl.bs.maxScan">10</str>
> :           <str name="hl.bs.chars">.,!? &#9;&#10;&#13;</str>
> :         </lst>
> :       </boundaryScanner>
> :
> :       <boundaryScanner name="breakIterator"
> :                        class="solr.highlight.BreakIteratorBoundaryScanner">
> :         <lst name="defaults">
> :
> :           <str name="hl.bs.type">WORD</str>
> :
> :
> :           <str name="hl.bs.language">en</str>
> :           <str name="hl.bs.country">US</str>
> :         </lst>
> :       </boundaryScanner>
> :     </highlighting>
> :   </searchComponent>
> :
> :
> :
> :
> :     <updateRequestProcessorChain name="uima" default="true">
> :       <processor
> : class="org.apache.solr.uima.processor.UIMAUpdateRequestProcessorFactory">
> :         <lst name="uimaConfig">
> :            <lst name="runtimeParameters"></lst>
> :
> :           <str
> : name="analysisEngine">/org/apache/uima/desc/AggregateGeneAE.xml</str>
> :
> :
> :           <bool name="ignoreErrors">true</bool>
> :
> :           <lst name="analyzeFields">
> :             <bool name="merge">false</bool>
> :             <arr name="fields">
> :                <str>medline_abstract_text</str>
> :                <str>medline_article_title</str>
> :             </arr>
> :           </lst>
> :           <lst name="fieldMappings">
> :             <lst name="type">
> :               <str name="name">org.apache.uima.DictionaryEntry</str>
> :               <lst name="mapping">
> :                 <str name="feature">coveredText</str>
> :                 <str name="field">genes</str>
> :               </lst>
> :             </lst>
> :           </lst>
> :         </lst>
> :       </processor>
> :       <processor
> : class="org.apache.solr.uima.processor.UIMAUpdateRequestProcessorFactory">
> :           <lst name="uimaConfig">
> :               <lst name="runtimeParameters"></lst>
> :               <str
> : name="analysisEngine">/org/apache/uima/desc/AggregatePhenotypeAE.xml</str>
> :
> :               <bool name="ignoreErrors">false</bool>
> :
> :               <lst name="analyzeFields">
> :                   <bool name="merge">false</bool>
> :                   <arr name="fields">
> :                       <str>medline_abstract_text</str>
> :                       <str>medline_article_title</str>
> :                   </arr>
> :               </lst>
> :             <lst name="fieldMappings">
> :                   <lst name="type">
> :                       <str name="name">org.apache.uima.DictionaryEntry</str>
> :                       <lst name="mapping">
> :                           <str name="feature">coveredText</str>
> :                           <str name="field">phenotypes</str>
> :                       </lst>
> :                   </lst>
> :               </lst>
> :
> :           </lst>
> :       </processor>
> :       <processor class="solr.LogUpdateProcessorFactory" />
> :       <processor class="solr.RunUpdateProcessorFactory" />
> :     </updateRequestProcessorChain>
> :
> :   <queryResponseWriter name="json" class="solr.JSONResponseWriter">
> :
> :     <str name="content-type">text/plain; charset=UTF-8</str>
> :   </queryResponseWriter>
> :
> :
> :     <queryResponseWriter name="velocity" class="solr.VelocityResponseWriter"
> : startup="lazy"/>
> :
> :   <queryResponseWriter name="xslt" class="solr.XSLTResponseWriter">
> :     <int name="xsltCacheLifetimeSeconds">5</int>
> :   </queryResponseWriter>
> :
> :
> :   <admin>
> :     <defaultQuery>*:*</defaultQuery>
> :   </admin>
> :
> : </config>
> :
> :
> : And here is *solr.xml*:
> :
> :
> : <?xml version="1.0" encoding="UTF-8" ?>
> :
> : <solr persistent="false">
> :
> :   <cores adminPath="/admin/cores" host="${host:}"
> : hostPort="${jetty.port:8983}" hostContext="${hostContext:solr}">
> :     <core name="hpo" instanceDir="hpo" />
> :     <core name="omim" instanceDir="omim" />
> :     <core name="orphanet" instanceDir="orphanet" />
> :     <core name="medline-citations" instanceDir="medline-citations" />
> :     <core name="medline-articles" instanceDir="medline-articles" />
> :
> :     <shardHandlerFactory name="shardHandlerFactory"
> : class="HttpShardHandlerFactory">
> :       <str name="urlScheme">${urlScheme:}</str>
> :     </shardHandlerFactory>
> :   </cores>
> :
> : </solr>
> :
> :
> :
> :
> : --
> : View this message in context: http://lucene.472066.n3.nabble.com/Schema-Parsing-Failed-unknown-field-id-Zookeeper-SolrCloud-tp4160478p4160528.html
> : Sent from the Solr - User mailing list archive at Nabble.com.
> :
>
> -Hoss
> http://www.lucidworks.com/

Re: Schema Parsing Failed: unknown field 'id' [Zookeeper, SolrCloud]

Posted by Chris Hostetter <ho...@fucit.org>.
: Thanks. There is definitely a <field name="id" .../> in each of the schemas.
: 
: I am using 4.7.2.

if this conig is working for you when you don't use zookeeper/hdfs then 
you must be using a newer version of Solr when you test w/ zk/hdfs


4.8.0 is when the <fields> and <type> section tags were deprecated.

in 4.7.x and earlier you *must* enclose all of your <field> and 
<fieldType> tags in the appropriate sections.

See the 4.7.2 example configs and compare to yours.


>From the 4.8.0 upgrade notes...

<fields> and <types> tags have been deprecated. There is no longer any 
reason to keep them in the schema file, they may be safely removed. This 
allows intermixing of <fieldType>, <field> and <copyField> definitions if 
desired. Currently, these tags are supported so either style may be 
implemented. TBD is whether they'll be deprecated formally for 5.0 

https://issues.apache.org/jira/browse/SOLR-5228



: 
: Here is one of the *schema.xml* (the others are similar):
: 
: 
: <schema name="medline-citations" version="1.5">
:    <field name="_version_" type="long" indexed="true" stored="true"/>
:    <field name="_root_" type="string" indexed="true" stored="false"/>
:    <field name="id" type="string" indexed="true" stored="true"
: required="true" multiValued="false" /> 
:    <field name="medline_journal_title" type="text_en" indexed="true"
: stored="true" />
:    <field name="medline_article_title" type="text_en" indexed="true"
: stored="true" termVectors="true" termPositions="true" termOffsets="true"/>
:    <field name="medline_pub_year" type="int" indexed="true" stored="true" />
:    <field name="medline_author_lastname" type="string" indexed="true"
: stored="true" multiValued="true"/>
:    <field name="medline_author_forename" type="string" indexed="true"
: stored="true" multiValued="true"/>
:    <field name="medline_descriptor_name" type="string" indexed="true"
: stored="true" multiValued="true" docValues="true"/>
:    <field name="medline_abstract_text" type="text_en" indexed="true"
: stored="true" termVectors="true" termPositions="true" termOffsets="true"/>
:    <field name="medline_e_id" type="string" indexed="true" stored="true"/>
:   <field name="sentences" type="text_en" indexed="true" stored="true"
: multiValued="true" required="false" />
:   <field name="genes" type="string" indexed="true" stored="true"
: multiValued="true" required="false" />
:   <field name="phenotypes" type="text_en" indexed="true" stored="true"
: multiValued="true" required="false" /> 
:    <field name="catchall" type="text_general" indexed="true" stored="false"
: multiValued="true"/>
:    <field name="suggestions" indexed="true" multiValued="false"
: stored="true" type="textSpell"/>
:    <field name="medline_journal_title_facets" indexed="true" stored="false"
: type="string" multiValued="true" docValues="true"/>
: 
:  <uniqueKey>id</uniqueKey>
: 
:    <copyField source="medline_journal_title"
: dest="medline_journal_title_facets"/>
: 
:     <fieldType class="solr.TextField" name="textSpell"
: positionIncrementGap="100">
:     <analyzer>
:       <tokenizer class="solr.KeywordTokenizerFactory"/>
:       <filter class="solr.LowerCaseFilterFactory"/>
:    </analyzer>
:   </fieldType>
: 
:     <fieldType name="string" class="solr.StrField" sortMissingLast="true" />
: 
:     <fieldType name="boolean" class="solr.BoolField"
: sortMissingLast="true"/>
: 
:     <fieldType name="int" class="solr.TrieIntField" precisionStep="0"
: positionIncrementGap="0"/>
:     <fieldType name="float" class="solr.TrieFloatField" precisionStep="0"
: positionIncrementGap="0"/>
:     <fieldType name="long" class="solr.TrieLongField" precisionStep="0"
: positionIncrementGap="0"/>
:     <fieldType name="double" class="solr.TrieDoubleField" precisionStep="0"
: positionIncrementGap="0"/>
:     <fieldType name="tint" class="solr.TrieIntField" precisionStep="8"
: positionIncrementGap="0"/>
:     <fieldType name="tfloat" class="solr.TrieFloatField" precisionStep="8"
: positionIncrementGap="0"/>
:     <fieldType name="tlong" class="solr.TrieLongField" precisionStep="8"
: positionIncrementGap="0"/>
:     <fieldType name="tdouble" class="solr.TrieDoubleField" precisionStep="8"
: positionIncrementGap="0"/>
:     <fieldType name="date" class="solr.TrieDateField" precisionStep="0"
: positionIncrementGap="0"/>
:     <fieldType name="tdate" class="solr.TrieDateField" precisionStep="6"
: positionIncrementGap="0"/>
:     <fieldtype name="binary" class="solr.BinaryField"/>
:     <fieldType name="random" class="solr.RandomSortField" indexed="true" />
:     <fieldType name="text_general" class="solr.TextField"
: positionIncrementGap="100">
:       <analyzer type="index">
:         <tokenizer class="solr.StandardTokenizerFactory"/>
:         <filter class="solr.StopFilterFactory" ignoreCase="true"
: words="stopwords.txt" />
:         <filter class="solr.LowerCaseFilterFactory"/>
:       </analyzer>
:       <analyzer type="query">
:         <tokenizer class="solr.StandardTokenizerFactory"/>
:         <filter class="solr.StopFilterFactory" ignoreCase="true"
: words="stopwords.txt" />
:         <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt"
: ignoreCase="true" expand="true"/>
:         <filter class="solr.LowerCaseFilterFactory"/>
:       </analyzer>
:     </fieldType>
: 
:     <fieldType name="text_en" class="solr.TextField"
: positionIncrementGap="100">
:       <analyzer type="index">
:         <tokenizer class="solr.StandardTokenizerFactory"/>
:         
:         
:         <filter class="solr.StopFilterFactory"
:                 ignoreCase="true"
:                 words="lang/stopwords_en.txt"
:                 />
:         <filter class="solr.LowerCaseFilterFactory"/>
: 	      <filter class="solr.EnglishPossessiveFilterFactory"/>
:         <filter class="solr.KeywordMarkerFilterFactory"
: protected="protwords.txt"/>
: 	
:         <filter class="solr.PorterStemFilterFactory"/>
:       </analyzer>
:       <analyzer type="query">
:         <tokenizer class="solr.StandardTokenizerFactory"/>
:         <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt"
: ignoreCase="true" expand="true"/>
:         <filter class="solr.StopFilterFactory"
:                 ignoreCase="true"
:                 words="lang/stopwords_en.txt"
:                 />
:         <filter class="solr.LowerCaseFilterFactory"/>
: 	      <filter class="solr.EnglishPossessiveFilterFactory"/>
:         <filter class="solr.KeywordMarkerFilterFactory"
: protected="protwords.txt"/>
: 	
:         <filter class="solr.PorterStemFilterFactory"/>
:       </analyzer>
:     </fieldType>
: 
:     
:     <fieldType name="lowercase" class="solr.TextField"
: positionIncrementGap="100">
:       <analyzer>
:         <tokenizer class="solr.KeywordTokenizerFactory"/>
:         <filter class="solr.LowerCaseFilterFactory" />
:       </analyzer>
:     </fieldType>
: 
:      
:     <fieldtype name="ignored" stored="false" indexed="false"
: multiValued="true" class="solr.StrField" />
: 
: </schema>
: 
: Here is the corresponding *solrconfig.xml*: 
: 
: 
: <?xml version="1.0" encoding="UTF-8" ?>
: <config>
: 
:   <luceneMatchVersion>4.7</luceneMatchVersion>
: 
:   <lib dir="../../../contrib/dataimporthandler/lib" regex=".*\.jar" />
:   <lib dir="../../../dist/" regex="solr-dataimporthandler-\d.*\.jar" />
:   <lib dir="../../../dist/" regex="solr-dataimporthandler-extras-\d.*\.jar"
: />
: 
:   <lib dir="../../../contrib/extraction/lib" regex="xmlbeans-\d.*\.jar" />
: 
:   <lib dir="../../../contrib/uima/lib" />
:   <lib dir="../../../contrib/uima/lucene-libs" />
:   <lib dir="../../../dist/" regex="solr-uima-\d.*\.jar" />
: 
:   <dataDir>${solr.medline-citations.data.dir:}</dataDir>
: 
:   <directoryFactory name="DirectoryFactory" 
:                    
: class="${solr.directoryFactory:solr.NRTCachingDirectoryFactory}">
:     
:   </directoryFactory> 
: 
:   <codecFactory class="solr.SchemaCodecFactory"/>
: 
:   <schemaFactory class="ClassicIndexSchemaFactory"/>
: 
:   <indexConfig>
:     <lockType>${solr.lock.type:native}</lockType>
:     <infoStream>true</infoStream>
:   </indexConfig>
: 
:   <jmx />
: 
:   
:   <updateHandler class="solr.DirectUpdateHandler2">
: 
:     <updateLog>
:       <str name="dir">${solr.ulog.dir:}</str>
:     </updateLog>
: 
:      <autoCommit> 
:        <maxTime>${solr.autoCommit.maxTime:15000}</maxTime> 
:        <openSearcher>false</openSearcher> 
:      </autoCommit>
: 
:      <autoSoftCommit> 
:        <maxTime>${solr.autoSoftCommit.maxTime:-1}</maxTime> 
:      </autoSoftCommit>
: 
:   </updateHandler>
: 
:   <query>
: 
:     <maxBooleanClauses>1024</maxBooleanClauses>
: 
:     <filterCache class="solr.FastLRUCache"
:                  size="512"
:                  initialSize="512"
:                  autowarmCount="0"/>
: 
:     <queryResultCache class="solr.LRUCache"
:                      size="512"
:                      initialSize="512"
:                      autowarmCount="0"/>
: 
:     <documentCache class="solr.LRUCache"
:                    size="512"
:                    initialSize="512"
:                    autowarmCount="0"/>
:     
:      
:     <cache name="perSegFilter"
:       class="solr.search.LRUCache"
:       size="10"
:       initialSize="0"
:       autowarmCount="10"
:       regenerator="solr.NoOpRegenerator" />
: 
:     <enableLazyFieldLoading>true</enableLazyFieldLoading>
: 
:    <queryResultWindowSize>20</queryResultWindowSize>
: 
:    <queryResultMaxDocsCached>200</queryResultMaxDocsCached>
: 
:     <listener event="newSearcher" class="solr.QuerySenderListener">
:       <arr name="queries">
:         
:       </arr>
:     </listener>
:     <listener event="firstSearcher" class="solr.QuerySenderListener">
:       <arr name="queries">
:         <lst>
:           <str name="q">static firstSearcher warming in solrconfig.xml</str>
:         </lst>
:       </arr>
:     </listener>
: 
:     <useColdSearcher>false</useColdSearcher>
: 
:     <maxWarmingSearchers>2</maxWarmingSearchers>
: 
:   </query>
: 
:   <requestDispatcher handleSelect="false" >
:  
:     <requestParsers enableRemoteStreaming="true" 
:                     multipartUploadLimitInKB="2048000"
:                     formdataUploadLimitInKB="2048"
:                     addHttpRequestToContext="false"/>
: 
:     <httpCaching never304="true" />
: 
:   </requestDispatcher>
: 
:   <requestHandler name="/select" class="solr.SearchHandler">
:     
:      <lst name="defaults">
:        <str name="echoParams">explicit</str>
:        <int name="rows">100</int>
:        <str name="df">catchall</str>
:        
:      </lst>
: 
:     </requestHandler>
: 
:   
:   <requestHandler name="/query" class="solr.SearchHandler">
:      <lst name="defaults">
:        <str name="echoParams">explicit</str>
:        <str name="wt">json</str>
:        <str name="indent">true</str>
:        <str name="df">text</str>
:      </lst>
:   </requestHandler>
: 
:   <requestHandler name="/get" class="solr.RealTimeGetHandler">
:      <lst name="defaults">
:        <str name="omitHeader">true</str>
:        <str name="wt">json</str>
:        <str name="indent">true</str>
:      </lst>
:   </requestHandler>
: 
:   <requestHandler name="/browse" class="solr.SearchHandler">
:      <lst name="defaults">
:        <str name="echoParams">explicit</str>
: 
:        
:        <str name="wt">velocity</str>
:        <str name="v.template">browse</str>
:        <str name="v.layout">layout</str>
:        <str name="title">Solritas</str>
: 
:        
:        <str name="defType">edismax</str>
:        <str name="qf">
:           catchall^0.5 medline_abstract_text^1.0 medline_journal_title^1.2
: medline_article_title^1.2 id^10.0 
:        </str>
:        <str name="df">catchall</str>
:        <str name="mm">100%</str>
:        <str name="q.alt">*:*</str>
:        <str name="rows">10</str>
:        <str name="fl">*,score</str>
: 
:        <str name="mlt.qf">
:          catchall^0.5 medline_abstract_text^1.0 medline_journal_title^1.2
: medline_article_title^1.2 id^10.0
:        </str>
:        <str
: name="mlt.fl">catchall,medline_article_title,medline_journal_title</str>
:        <int name="mlt.count">3</int>
: 
:        <str name="facet">on</str>
:        <str name="facet.field">medline_author_lastname</str>
:        <str name="facet.field">medline_journal_title</str>
: 
:        <str name="hl">on</str>
:        <str name="hl.fl">medline_abstract_text</str>
:        <str name="hl.encoder">html</str>
:        <str name="hl.simple.pre">&lt;b&gt;</str>
:        <str name="hl.simple.post">&lt;/b&gt;</str>
:        <str name="f.title.hl.fragsize">0</str>
:        <str name="f.title.hl.alternateField">medline_abstract_text</str>
: 
:        <str name="spellcheck">on</str>
:        <str name="spellcheck.extendedResults">false</str>       
:        <str name="spellcheck.count">5</str>
:        <str name="spellcheck.alternativeTermCount">2</str>
:        <str name="spellcheck.maxResultsForSuggest">5</str>       
:        <str name="spellcheck.collate">true</str>
:        <str name="spellcheck.collateExtendedResults">true</str>  
:        <str name="spellcheck.maxCollationTries">5</str>
:        <str name="spellcheck.maxCollations">3</str>           
:      </lst>
: 
:      
:      <arr name="last-components">
:        <str>spellcheck</str>
:      </arr>
:   </requestHandler>
: 
:     
:   <requestHandler name="/update/json" class="solr.UpdateRequestHandler">
:         <lst name="defaults">
:          <str name="stream.contentType">application/json</str>
:        </lst>
:   </requestHandler>
:   <requestHandler name="/update/csv" class="solr.UpdateRequestHandler">
:         <lst name="defaults">
:          <str name="stream.contentType">application/csv</str>
:        </lst>
:   </requestHandler>
: 
: 
:   <requestHandler name="/update/extract" 
:                   startup="lazy"
:                   class="solr.extraction.ExtractingRequestHandler" >
:     <lst name="defaults">
:       <str name="lowernames">true</str>
:       <str name="uprefix">ignored_</str>
: 
:       
:       <str name="captureAttr">true</str>
:       <str name="fmap.a">links</str>
:       <str name="fmap.div">ignored_</str>
:     </lst>
:   </requestHandler>
: 
:   <requestHandler name="/analysis/field" 
:                   startup="lazy"
:                   class="solr.FieldAnalysisRequestHandler" />
: 
:   <requestHandler name="/analysis/document" 
:                   class="solr.DocumentAnalysisRequestHandler" 
:                   startup="lazy" />
: 
:   <requestHandler name="/admin/" 
:                   class="solr.admin.AdminHandlers" />
: 
:   
:   <requestHandler name="/admin/ping" class="solr.PingRequestHandler">
:     <lst name="invariants">
:       <str name="q">solrpingquery</str>
:     </lst>
:     <lst name="defaults">
:       <str name="echoParams">all</str>
:     </lst>
: 
:   </requestHandler>
: 
:   
:   <requestHandler name="/debug/dump" class="solr.DumpRequestHandler" >
:     <lst name="defaults">
:      <str name="echoParams">explicit</str> 
:      <str name="echoHandler">true</str>
:     </lst>
:   </requestHandler>
: 
:   <requestHandler name="/replication" class="solr.ReplicationHandler" > 
:   </requestHandler>
: 
: 
: 
:   <requestHandler name="/medline-citations_ingest"
: class="org.apache.solr.handler.dataimport.DataImportHandler">
:     <lst name="defaults">
:       <str name="config">./medline-citations_DIHconfig.xml</str>
:       <str name="update.processor">uima</str>
:     </lst>
:   </requestHandler>
: 
:   <searchComponent name="spellcheck" class="solr.SpellCheckComponent">
: 
:     <str name="queryAnalyzerFieldType">text_general</str>
: 
:     <lst name="spellchecker">
:       <str name="name">default</str>
:       <str name="field">catchall</str>
:       <str name="classname">solr.DirectSolrSpellChecker</str>
:       
:       <str name="distanceMeasure">internal</str>
:       
:       <float name="accuracy">0.5</float>
:       
:       <int name="maxEdits">2</int>
:       
:       <int name="minPrefix">1</int>
:       
:       <int name="maxInspections">5</int>
:       
:       <int name="minQueryLength">4</int>
:       
:       <float name="maxQueryFrequency">0.01</float>
:       
:     </lst>
:     
:     
:     <lst name="spellchecker">
:       <str name="name">wordbreak</str>
:       <str name="classname">solr.WordBreakSolrSpellChecker</str>      
:       <str name="field">name</str>
:       <str name="combineWords">true</str>
:       <str name="breakWords">true</str>
:       <int name="maxChanges">10</int>
:     </lst>
: 
:   </searchComponent>
: 
:   <requestHandler name="/spell" class="solr.SearchHandler" startup="lazy">
:     <lst name="defaults">
:       <str name="df">catchall</str>
:       
:       <str name="spellcheck.dictionary">default</str>
:       <str name="spellcheck.dictionary">wordbreak</str>
:       <str name="spellcheck">on</str>
:       <str name="spellcheck.extendedResults">true</str>       
:       <str name="spellcheck.count">10</str>
:       <str name="spellcheck.alternativeTermCount">5</str>
:       <str name="spellcheck.maxResultsForSuggest">5</str>       
:       <str name="spellcheck.collate">true</str>
:       <str name="spellcheck.collateExtendedResults">true</str>  
:       <str name="spellcheck.maxCollationTries">10</str>
:       <str name="spellcheck.maxCollations">5</str>         
:     </lst>
:     <arr name="last-components">
:       <str>spellcheck</str>
:     </arr>
:   </requestHandler>
: 
:   <searchComponent class="solr.SpellCheckComponent" name="suggest">
:     <lst name="spellchecker">
:       <str name="name">suggest</str>
:       <str name="classname">org.apache.solr.spelling.suggest.Suggester</str>
:       <str
: name="lookupImpl">org.apache.solr.spelling.suggest.tst.TSTLookupFactory</str>
:       
:       <str name="field">suggestions</str>  
:       
:       <str name="buildOnCommit">true</str>
: 
:     </lst>
:   </searchComponent>
: 
:   <requestHandler class="solr.SearchHandler" name="/suggest">
:     <lst name="defaults">
:       <str name="spellcheck">true</str>
:       <str name="spellcheck.dictionary">suggest</str>
:       
:       <str name="spellcheck.count">10</str>
:       
:     </lst>
:     <arr name="components">
:       <str>suggest</str>
:     </arr>
:   </requestHandler>
: 
: 
:   
:   <searchComponent name="tvComponent" class="solr.TermVectorComponent"/>
: 
:   <requestHandler name="/tvrh" class="solr.SearchHandler" startup="lazy">
:     <lst name="defaults">
:       <str name="df">text</str>
:       <bool name="tv">true</bool>
:     </lst>
:     <arr name="last-components">
:       <str>tvComponent</str>
:     </arr>
:   </requestHandler>
: 
:   <searchComponent name="clustering"
:                    enable="${solr.clustering.enabled:false}"
:                    class="solr.clustering.ClusteringComponent" >
:     <lst name="engine">
:       <str name="name">lingo</str>
: 
:       <str
: name="carrot.algorithm">org.carrot2.clustering.lingo.LingoClusteringAlgorithm</str>
: 
:       <str name="carrot.resourcesDir">clustering/carrot2</str>
:     </lst>
: 
:     
:     <lst name="engine">
:       <str name="name">stc</str>
:       <str
: name="carrot.algorithm">org.carrot2.clustering.stc.STCClusteringAlgorithm</str>
:     </lst>
: 
:     
:     <lst name="engine">
:       <str name="name">kmeans</str>
:       <str
: name="carrot.algorithm">org.carrot2.clustering.kmeans.BisectingKMeansClusteringAlgorithm</str>
:     </lst>
:   </searchComponent>
:   
:   
:   <searchComponent name="terms" class="solr.TermsComponent"/>
: 
:   
:   <requestHandler name="/terms" class="solr.SearchHandler" startup="lazy">
:      <lst name="defaults">
:       <bool name="terms">true</bool>
:       <bool name="distrib">false</bool>
:     </lst>     
:     <arr name="components">
:       <str>terms</str>
:     </arr>
:   </requestHandler>
: 
: 
:   
:   <searchComponent name="elevator" class="solr.QueryElevationComponent" >
:     
:     <str name="queryFieldType">string</str>
:     <str name="config-file">elevate.xml</str>
:   </searchComponent>
: 
:   
:   <requestHandler name="/elevate" class="solr.SearchHandler" startup="lazy">
:     <lst name="defaults">
:       <str name="echoParams">explicit</str>
:       <str name="df">text</str>
:     </lst>
:     <arr name="last-components">
:       <str>elevator</str>
:     </arr>
:   </requestHandler>
: 
:   
:   <searchComponent class="solr.HighlightComponent" name="highlight">
:     <highlighting>
:       
:       
:       <fragmenter name="gap" 
:                   default="true"
:                   class="solr.highlight.GapFragmenter">
:         <lst name="defaults">
:           <int name="hl.fragsize">100</int>
:         </lst>
:       </fragmenter>
: 
:       
:       <fragmenter name="regex" 
:                   class="solr.highlight.RegexFragmenter">
:         <lst name="defaults">
:           
:           <int name="hl.fragsize">70</int>
:           
:           <float name="hl.regex.slop">0.5</float>
:           
:           <str name="hl.regex.pattern">[-\w ,/\n\&quot;&apos;]{20,200}</str>
:         </lst>
:       </fragmenter>
: 
:       
:       <formatter name="html" 
:                  default="true"
:                  class="solr.highlight.HtmlFormatter">
:         <lst name="defaults">
:           <str name="hl.simple.pre"></str>
:           <str name="hl.simple.post"></str>
:         </lst>
:       </formatter>
: 
:       
:       <encoder name="html" 
:                class="solr.highlight.HtmlEncoder" />
: 
:       
:       <fragListBuilder name="simple" 
:                        class="solr.highlight.SimpleFragListBuilder"/>
:       
:       
:       <fragListBuilder name="single" 
:                        class="solr.highlight.SingleFragListBuilder"/>
:       
:       
:       <fragListBuilder name="weighted" 
:                        default="true"
:                        class="solr.highlight.WeightedFragListBuilder"/>
:       
:       
:       <fragmentsBuilder name="default" 
:                         default="true"
:                         class="solr.highlight.ScoreOrderFragmentsBuilder">
:         
:       </fragmentsBuilder>
: 
:       
:       <fragmentsBuilder name="colored" 
:                         class="solr.highlight.ScoreOrderFragmentsBuilder">
:         <lst name="defaults">
:           <str name="hl.tag.pre"></str>
:           <str name="hl.tag.post"></str>
:         </lst>
:       </fragmentsBuilder>
:       
:       <boundaryScanner name="default" 
:                        default="true"
:                        class="solr.highlight.SimpleBoundaryScanner">
:         <lst name="defaults">
:           <str name="hl.bs.maxScan">10</str>
:           <str name="hl.bs.chars">.,!? &#9;&#10;&#13;</str>
:         </lst>
:       </boundaryScanner>
:       
:       <boundaryScanner name="breakIterator" 
:                        class="solr.highlight.BreakIteratorBoundaryScanner">
:         <lst name="defaults">
:           
:           <str name="hl.bs.type">WORD</str>
:           
:           
:           <str name="hl.bs.language">en</str>
:           <str name="hl.bs.country">US</str>
:         </lst>
:       </boundaryScanner>
:     </highlighting>
:   </searchComponent>
: 
:    
: 
:     
:     <updateRequestProcessorChain name="uima" default="true">
:       <processor
: class="org.apache.solr.uima.processor.UIMAUpdateRequestProcessorFactory">
:         <lst name="uimaConfig">
:            <lst name="runtimeParameters"></lst> 
:           
:           <str
: name="analysisEngine">/org/apache/uima/desc/AggregateGeneAE.xml</str>
:           
:           
:           <bool name="ignoreErrors">true</bool>
:           
:           <lst name="analyzeFields">
:             <bool name="merge">false</bool>
:             <arr name="fields">
:                <str>medline_abstract_text</str>
:                <str>medline_article_title</str> 
:             </arr>
:           </lst>
:           <lst name="fieldMappings">
:             <lst name="type">
:               <str name="name">org.apache.uima.DictionaryEntry</str>
:               <lst name="mapping">
:                 <str name="feature">coveredText</str>
:                 <str name="field">genes</str>
:               </lst>
:             </lst>
:           </lst>
:         </lst>
:       </processor>
:       <processor
: class="org.apache.solr.uima.processor.UIMAUpdateRequestProcessorFactory">
:           <lst name="uimaConfig">
:               <lst name="runtimeParameters"></lst>
:               <str
: name="analysisEngine">/org/apache/uima/desc/AggregatePhenotypeAE.xml</str>
:               
:               <bool name="ignoreErrors">false</bool>
:               
:               <lst name="analyzeFields">
:                   <bool name="merge">false</bool>
:                   <arr name="fields">
:                       <str>medline_abstract_text</str>
:                       <str>medline_article_title</str>
:                   </arr>
:               </lst>
:             <lst name="fieldMappings">
:                   <lst name="type">
:                       <str name="name">org.apache.uima.DictionaryEntry</str>
:                       <lst name="mapping">
:                           <str name="feature">coveredText</str>
:                           <str name="field">phenotypes</str>
:                       </lst>
:                   </lst>
:               </lst>
:               
:           </lst>
:       </processor>
:       <processor class="solr.LogUpdateProcessorFactory" />
:       <processor class="solr.RunUpdateProcessorFactory" />
:     </updateRequestProcessorChain>
: 
:   <queryResponseWriter name="json" class="solr.JSONResponseWriter">
:      
:     <str name="content-type">text/plain; charset=UTF-8</str>
:   </queryResponseWriter>
:   
:   
:     <queryResponseWriter name="velocity" class="solr.VelocityResponseWriter"
: startup="lazy"/>
: 
:   <queryResponseWriter name="xslt" class="solr.XSLTResponseWriter">
:     <int name="xsltCacheLifetimeSeconds">5</int>
:   </queryResponseWriter>    
: 
:   
:   <admin>
:     <defaultQuery>*:*</defaultQuery>
:   </admin>
: 
: </config>
: 
: 
: And here is *solr.xml*:
: 
: 
: <?xml version="1.0" encoding="UTF-8" ?>
: 
: <solr persistent="false">
: 
:   <cores adminPath="/admin/cores" host="${host:}"
: hostPort="${jetty.port:8983}" hostContext="${hostContext:solr}">
:     <core name="hpo" instanceDir="hpo" />
:     <core name="omim" instanceDir="omim" />
:     <core name="orphanet" instanceDir="orphanet" />
:     <core name="medline-citations" instanceDir="medline-citations" />
:     <core name="medline-articles" instanceDir="medline-articles" />
:     
:     <shardHandlerFactory name="shardHandlerFactory"
: class="HttpShardHandlerFactory">
:       <str name="urlScheme">${urlScheme:}</str>
:     </shardHandlerFactory>
:   </cores>
:         
: </solr>
: 
: 
: 
: 
: --
: View this message in context: http://lucene.472066.n3.nabble.com/Schema-Parsing-Failed-unknown-field-id-Zookeeper-SolrCloud-tp4160478p4160528.html
: Sent from the Solr - User mailing list archive at Nabble.com.
: 

-Hoss
http://www.lucidworks.com/

Re: Schema Parsing Failed: unknown field 'id' [Zookeeper, SolrCloud]

Posted by paulparsons <pa...@gmail.com>.
Thanks. There is definitely a <field name="id" .../> in each of the schemas.

I am using 4.7.2.

Here is one of the *schema.xml* (the others are similar):


<schema name="medline-citations" version="1.5">
   <field name="_version_" type="long" indexed="true" stored="true"/>
   <field name="_root_" type="string" indexed="true" stored="false"/>
   <field name="id" type="string" indexed="true" stored="true"
required="true" multiValued="false" /> 
   <field name="medline_journal_title" type="text_en" indexed="true"
stored="true" />
   <field name="medline_article_title" type="text_en" indexed="true"
stored="true" termVectors="true" termPositions="true" termOffsets="true"/>
   <field name="medline_pub_year" type="int" indexed="true" stored="true" />
   <field name="medline_author_lastname" type="string" indexed="true"
stored="true" multiValued="true"/>
   <field name="medline_author_forename" type="string" indexed="true"
stored="true" multiValued="true"/>
   <field name="medline_descriptor_name" type="string" indexed="true"
stored="true" multiValued="true" docValues="true"/>
   <field name="medline_abstract_text" type="text_en" indexed="true"
stored="true" termVectors="true" termPositions="true" termOffsets="true"/>
   <field name="medline_e_id" type="string" indexed="true" stored="true"/>
  <field name="sentences" type="text_en" indexed="true" stored="true"
multiValued="true" required="false" />
  <field name="genes" type="string" indexed="true" stored="true"
multiValued="true" required="false" />
  <field name="phenotypes" type="text_en" indexed="true" stored="true"
multiValued="true" required="false" /> 
   <field name="catchall" type="text_general" indexed="true" stored="false"
multiValued="true"/>
   <field name="suggestions" indexed="true" multiValued="false"
stored="true" type="textSpell"/>
   <field name="medline_journal_title_facets" indexed="true" stored="false"
type="string" multiValued="true" docValues="true"/>

 <uniqueKey>id</uniqueKey>

   <copyField source="medline_journal_title"
dest="medline_journal_title_facets"/>

    <fieldType class="solr.TextField" name="textSpell"
positionIncrementGap="100">
    <analyzer>
      <tokenizer class="solr.KeywordTokenizerFactory"/>
      <filter class="solr.LowerCaseFilterFactory"/>
   </analyzer>
  </fieldType>

    <fieldType name="string" class="solr.StrField" sortMissingLast="true" />

    <fieldType name="boolean" class="solr.BoolField"
sortMissingLast="true"/>

    <fieldType name="int" class="solr.TrieIntField" precisionStep="0"
positionIncrementGap="0"/>
    <fieldType name="float" class="solr.TrieFloatField" precisionStep="0"
positionIncrementGap="0"/>
    <fieldType name="long" class="solr.TrieLongField" precisionStep="0"
positionIncrementGap="0"/>
    <fieldType name="double" class="solr.TrieDoubleField" precisionStep="0"
positionIncrementGap="0"/>
    <fieldType name="tint" class="solr.TrieIntField" precisionStep="8"
positionIncrementGap="0"/>
    <fieldType name="tfloat" class="solr.TrieFloatField" precisionStep="8"
positionIncrementGap="0"/>
    <fieldType name="tlong" class="solr.TrieLongField" precisionStep="8"
positionIncrementGap="0"/>
    <fieldType name="tdouble" class="solr.TrieDoubleField" precisionStep="8"
positionIncrementGap="0"/>
    <fieldType name="date" class="solr.TrieDateField" precisionStep="0"
positionIncrementGap="0"/>
    <fieldType name="tdate" class="solr.TrieDateField" precisionStep="6"
positionIncrementGap="0"/>
    <fieldtype name="binary" class="solr.BinaryField"/>
    <fieldType name="random" class="solr.RandomSortField" indexed="true" />
    <fieldType name="text_general" class="solr.TextField"
positionIncrementGap="100">
      <analyzer type="index">
        <tokenizer class="solr.StandardTokenizerFactory"/>
        <filter class="solr.StopFilterFactory" ignoreCase="true"
words="stopwords.txt" />
        <filter class="solr.LowerCaseFilterFactory"/>
      </analyzer>
      <analyzer type="query">
        <tokenizer class="solr.StandardTokenizerFactory"/>
        <filter class="solr.StopFilterFactory" ignoreCase="true"
words="stopwords.txt" />
        <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt"
ignoreCase="true" expand="true"/>
        <filter class="solr.LowerCaseFilterFactory"/>
      </analyzer>
    </fieldType>

    <fieldType name="text_en" class="solr.TextField"
positionIncrementGap="100">
      <analyzer type="index">
        <tokenizer class="solr.StandardTokenizerFactory"/>
        
        
        <filter class="solr.StopFilterFactory"
                ignoreCase="true"
                words="lang/stopwords_en.txt"
                />
        <filter class="solr.LowerCaseFilterFactory"/>
	      <filter class="solr.EnglishPossessiveFilterFactory"/>
        <filter class="solr.KeywordMarkerFilterFactory"
protected="protwords.txt"/>
	
        <filter class="solr.PorterStemFilterFactory"/>
      </analyzer>
      <analyzer type="query">
        <tokenizer class="solr.StandardTokenizerFactory"/>
        <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt"
ignoreCase="true" expand="true"/>
        <filter class="solr.StopFilterFactory"
                ignoreCase="true"
                words="lang/stopwords_en.txt"
                />
        <filter class="solr.LowerCaseFilterFactory"/>
	      <filter class="solr.EnglishPossessiveFilterFactory"/>
        <filter class="solr.KeywordMarkerFilterFactory"
protected="protwords.txt"/>
	
        <filter class="solr.PorterStemFilterFactory"/>
      </analyzer>
    </fieldType>

    
    <fieldType name="lowercase" class="solr.TextField"
positionIncrementGap="100">
      <analyzer>
        <tokenizer class="solr.KeywordTokenizerFactory"/>
        <filter class="solr.LowerCaseFilterFactory" />
      </analyzer>
    </fieldType>

     
    <fieldtype name="ignored" stored="false" indexed="false"
multiValued="true" class="solr.StrField" />

</schema>

Here is the corresponding *solrconfig.xml*: 


<?xml version="1.0" encoding="UTF-8" ?>
<config>

  <luceneMatchVersion>4.7</luceneMatchVersion>

  <lib dir="../../../contrib/dataimporthandler/lib" regex=".*\.jar" />
  <lib dir="../../../dist/" regex="solr-dataimporthandler-\d.*\.jar" />
  <lib dir="../../../dist/" regex="solr-dataimporthandler-extras-\d.*\.jar"
/>

  <lib dir="../../../contrib/extraction/lib" regex="xmlbeans-\d.*\.jar" />

  <lib dir="../../../contrib/uima/lib" />
  <lib dir="../../../contrib/uima/lucene-libs" />
  <lib dir="../../../dist/" regex="solr-uima-\d.*\.jar" />

  <dataDir>${solr.medline-citations.data.dir:}</dataDir>

  <directoryFactory name="DirectoryFactory" 
                   
class="${solr.directoryFactory:solr.NRTCachingDirectoryFactory}">
    
  </directoryFactory> 

  <codecFactory class="solr.SchemaCodecFactory"/>

  <schemaFactory class="ClassicIndexSchemaFactory"/>

  <indexConfig>
    <lockType>${solr.lock.type:native}</lockType>
    <infoStream>true</infoStream>
  </indexConfig>

  <jmx />

  
  <updateHandler class="solr.DirectUpdateHandler2">

    <updateLog>
      <str name="dir">${solr.ulog.dir:}</str>
    </updateLog>

     <autoCommit> 
       <maxTime>${solr.autoCommit.maxTime:15000}</maxTime> 
       <openSearcher>false</openSearcher> 
     </autoCommit>

     <autoSoftCommit> 
       <maxTime>${solr.autoSoftCommit.maxTime:-1}</maxTime> 
     </autoSoftCommit>

  </updateHandler>

  <query>

    <maxBooleanClauses>1024</maxBooleanClauses>

    <filterCache class="solr.FastLRUCache"
                 size="512"
                 initialSize="512"
                 autowarmCount="0"/>

    <queryResultCache class="solr.LRUCache"
                     size="512"
                     initialSize="512"
                     autowarmCount="0"/>

    <documentCache class="solr.LRUCache"
                   size="512"
                   initialSize="512"
                   autowarmCount="0"/>
    
     
    <cache name="perSegFilter"
      class="solr.search.LRUCache"
      size="10"
      initialSize="0"
      autowarmCount="10"
      regenerator="solr.NoOpRegenerator" />

    <enableLazyFieldLoading>true</enableLazyFieldLoading>

   <queryResultWindowSize>20</queryResultWindowSize>

   <queryResultMaxDocsCached>200</queryResultMaxDocsCached>

    <listener event="newSearcher" class="solr.QuerySenderListener">
      <arr name="queries">
        
      </arr>
    </listener>
    <listener event="firstSearcher" class="solr.QuerySenderListener">
      <arr name="queries">
        <lst>
          <str name="q">static firstSearcher warming in solrconfig.xml</str>
        </lst>
      </arr>
    </listener>

    <useColdSearcher>false</useColdSearcher>

    <maxWarmingSearchers>2</maxWarmingSearchers>

  </query>

  <requestDispatcher handleSelect="false" >
 
    <requestParsers enableRemoteStreaming="true" 
                    multipartUploadLimitInKB="2048000"
                    formdataUploadLimitInKB="2048"
                    addHttpRequestToContext="false"/>

    <httpCaching never304="true" />

  </requestDispatcher>

  <requestHandler name="/select" class="solr.SearchHandler">
    
     <lst name="defaults">
       <str name="echoParams">explicit</str>
       <int name="rows">100</int>
       <str name="df">catchall</str>
       
     </lst>

    </requestHandler>

  
  <requestHandler name="/query" class="solr.SearchHandler">
     <lst name="defaults">
       <str name="echoParams">explicit</str>
       <str name="wt">json</str>
       <str name="indent">true</str>
       <str name="df">text</str>
     </lst>
  </requestHandler>

  <requestHandler name="/get" class="solr.RealTimeGetHandler">
     <lst name="defaults">
       <str name="omitHeader">true</str>
       <str name="wt">json</str>
       <str name="indent">true</str>
     </lst>
  </requestHandler>

  <requestHandler name="/browse" class="solr.SearchHandler">
     <lst name="defaults">
       <str name="echoParams">explicit</str>

       
       <str name="wt">velocity</str>
       <str name="v.template">browse</str>
       <str name="v.layout">layout</str>
       <str name="title">Solritas</str>

       
       <str name="defType">edismax</str>
       <str name="qf">
          catchall^0.5 medline_abstract_text^1.0 medline_journal_title^1.2
medline_article_title^1.2 id^10.0 
       </str>
       <str name="df">catchall</str>
       <str name="mm">100%</str>
       <str name="q.alt">*:*</str>
       <str name="rows">10</str>
       <str name="fl">*,score</str>

       <str name="mlt.qf">
         catchall^0.5 medline_abstract_text^1.0 medline_journal_title^1.2
medline_article_title^1.2 id^10.0
       </str>
       <str
name="mlt.fl">catchall,medline_article_title,medline_journal_title</str>
       <int name="mlt.count">3</int>

       <str name="facet">on</str>
       <str name="facet.field">medline_author_lastname</str>
       <str name="facet.field">medline_journal_title</str>

       <str name="hl">on</str>
       <str name="hl.fl">medline_abstract_text</str>
       <str name="hl.encoder">html</str>
       <str name="hl.simple.pre">&lt;b&gt;</str>
       <str name="hl.simple.post">&lt;/b&gt;</str>
       <str name="f.title.hl.fragsize">0</str>
       <str name="f.title.hl.alternateField">medline_abstract_text</str>

       <str name="spellcheck">on</str>
       <str name="spellcheck.extendedResults">false</str>       
       <str name="spellcheck.count">5</str>
       <str name="spellcheck.alternativeTermCount">2</str>
       <str name="spellcheck.maxResultsForSuggest">5</str>       
       <str name="spellcheck.collate">true</str>
       <str name="spellcheck.collateExtendedResults">true</str>  
       <str name="spellcheck.maxCollationTries">5</str>
       <str name="spellcheck.maxCollations">3</str>           
     </lst>

     
     <arr name="last-components">
       <str>spellcheck</str>
     </arr>
  </requestHandler>

    
  <requestHandler name="/update/json" class="solr.UpdateRequestHandler">
        <lst name="defaults">
         <str name="stream.contentType">application/json</str>
       </lst>
  </requestHandler>
  <requestHandler name="/update/csv" class="solr.UpdateRequestHandler">
        <lst name="defaults">
         <str name="stream.contentType">application/csv</str>
       </lst>
  </requestHandler>


  <requestHandler name="/update/extract" 
                  startup="lazy"
                  class="solr.extraction.ExtractingRequestHandler" >
    <lst name="defaults">
      <str name="lowernames">true</str>
      <str name="uprefix">ignored_</str>

      
      <str name="captureAttr">true</str>
      <str name="fmap.a">links</str>
      <str name="fmap.div">ignored_</str>
    </lst>
  </requestHandler>

  <requestHandler name="/analysis/field" 
                  startup="lazy"
                  class="solr.FieldAnalysisRequestHandler" />

  <requestHandler name="/analysis/document" 
                  class="solr.DocumentAnalysisRequestHandler" 
                  startup="lazy" />

  <requestHandler name="/admin/" 
                  class="solr.admin.AdminHandlers" />

  
  <requestHandler name="/admin/ping" class="solr.PingRequestHandler">
    <lst name="invariants">
      <str name="q">solrpingquery</str>
    </lst>
    <lst name="defaults">
      <str name="echoParams">all</str>
    </lst>

  </requestHandler>

  
  <requestHandler name="/debug/dump" class="solr.DumpRequestHandler" >
    <lst name="defaults">
     <str name="echoParams">explicit</str> 
     <str name="echoHandler">true</str>
    </lst>
  </requestHandler>

  <requestHandler name="/replication" class="solr.ReplicationHandler" > 
  </requestHandler>



  <requestHandler name="/medline-citations_ingest"
class="org.apache.solr.handler.dataimport.DataImportHandler">
    <lst name="defaults">
      <str name="config">./medline-citations_DIHconfig.xml</str>
      <str name="update.processor">uima</str>
    </lst>
  </requestHandler>

  <searchComponent name="spellcheck" class="solr.SpellCheckComponent">

    <str name="queryAnalyzerFieldType">text_general</str>

    <lst name="spellchecker">
      <str name="name">default</str>
      <str name="field">catchall</str>
      <str name="classname">solr.DirectSolrSpellChecker</str>
      
      <str name="distanceMeasure">internal</str>
      
      <float name="accuracy">0.5</float>
      
      <int name="maxEdits">2</int>
      
      <int name="minPrefix">1</int>
      
      <int name="maxInspections">5</int>
      
      <int name="minQueryLength">4</int>
      
      <float name="maxQueryFrequency">0.01</float>
      
    </lst>
    
    
    <lst name="spellchecker">
      <str name="name">wordbreak</str>
      <str name="classname">solr.WordBreakSolrSpellChecker</str>      
      <str name="field">name</str>
      <str name="combineWords">true</str>
      <str name="breakWords">true</str>
      <int name="maxChanges">10</int>
    </lst>

  </searchComponent>

  <requestHandler name="/spell" class="solr.SearchHandler" startup="lazy">
    <lst name="defaults">
      <str name="df">catchall</str>
      
      <str name="spellcheck.dictionary">default</str>
      <str name="spellcheck.dictionary">wordbreak</str>
      <str name="spellcheck">on</str>
      <str name="spellcheck.extendedResults">true</str>       
      <str name="spellcheck.count">10</str>
      <str name="spellcheck.alternativeTermCount">5</str>
      <str name="spellcheck.maxResultsForSuggest">5</str>       
      <str name="spellcheck.collate">true</str>
      <str name="spellcheck.collateExtendedResults">true</str>  
      <str name="spellcheck.maxCollationTries">10</str>
      <str name="spellcheck.maxCollations">5</str>         
    </lst>
    <arr name="last-components">
      <str>spellcheck</str>
    </arr>
  </requestHandler>

  <searchComponent class="solr.SpellCheckComponent" name="suggest">
    <lst name="spellchecker">
      <str name="name">suggest</str>
      <str name="classname">org.apache.solr.spelling.suggest.Suggester</str>
      <str
name="lookupImpl">org.apache.solr.spelling.suggest.tst.TSTLookupFactory</str>
      
      <str name="field">suggestions</str>  
      
      <str name="buildOnCommit">true</str>

    </lst>
  </searchComponent>

  <requestHandler class="solr.SearchHandler" name="/suggest">
    <lst name="defaults">
      <str name="spellcheck">true</str>
      <str name="spellcheck.dictionary">suggest</str>
      
      <str name="spellcheck.count">10</str>
      
    </lst>
    <arr name="components">
      <str>suggest</str>
    </arr>
  </requestHandler>


  
  <searchComponent name="tvComponent" class="solr.TermVectorComponent"/>

  <requestHandler name="/tvrh" class="solr.SearchHandler" startup="lazy">
    <lst name="defaults">
      <str name="df">text</str>
      <bool name="tv">true</bool>
    </lst>
    <arr name="last-components">
      <str>tvComponent</str>
    </arr>
  </requestHandler>

  <searchComponent name="clustering"
                   enable="${solr.clustering.enabled:false}"
                   class="solr.clustering.ClusteringComponent" >
    <lst name="engine">
      <str name="name">lingo</str>

      <str
name="carrot.algorithm">org.carrot2.clustering.lingo.LingoClusteringAlgorithm</str>

      <str name="carrot.resourcesDir">clustering/carrot2</str>
    </lst>

    
    <lst name="engine">
      <str name="name">stc</str>
      <str
name="carrot.algorithm">org.carrot2.clustering.stc.STCClusteringAlgorithm</str>
    </lst>

    
    <lst name="engine">
      <str name="name">kmeans</str>
      <str
name="carrot.algorithm">org.carrot2.clustering.kmeans.BisectingKMeansClusteringAlgorithm</str>
    </lst>
  </searchComponent>
  
  
  <searchComponent name="terms" class="solr.TermsComponent"/>

  
  <requestHandler name="/terms" class="solr.SearchHandler" startup="lazy">
     <lst name="defaults">
      <bool name="terms">true</bool>
      <bool name="distrib">false</bool>
    </lst>     
    <arr name="components">
      <str>terms</str>
    </arr>
  </requestHandler>


  
  <searchComponent name="elevator" class="solr.QueryElevationComponent" >
    
    <str name="queryFieldType">string</str>
    <str name="config-file">elevate.xml</str>
  </searchComponent>

  
  <requestHandler name="/elevate" class="solr.SearchHandler" startup="lazy">
    <lst name="defaults">
      <str name="echoParams">explicit</str>
      <str name="df">text</str>
    </lst>
    <arr name="last-components">
      <str>elevator</str>
    </arr>
  </requestHandler>

  
  <searchComponent class="solr.HighlightComponent" name="highlight">
    <highlighting>
      
      
      <fragmenter name="gap" 
                  default="true"
                  class="solr.highlight.GapFragmenter">
        <lst name="defaults">
          <int name="hl.fragsize">100</int>
        </lst>
      </fragmenter>

      
      <fragmenter name="regex" 
                  class="solr.highlight.RegexFragmenter">
        <lst name="defaults">
          
          <int name="hl.fragsize">70</int>
          
          <float name="hl.regex.slop">0.5</float>
          
          <str name="hl.regex.pattern">[-\w ,/\n\&quot;&apos;]{20,200}</str>
        </lst>
      </fragmenter>

      
      <formatter name="html" 
                 default="true"
                 class="solr.highlight.HtmlFormatter">
        <lst name="defaults">
          <str name="hl.simple.pre"></str>
          <str name="hl.simple.post"></str>
        </lst>
      </formatter>

      
      <encoder name="html" 
               class="solr.highlight.HtmlEncoder" />

      
      <fragListBuilder name="simple" 
                       class="solr.highlight.SimpleFragListBuilder"/>
      
      
      <fragListBuilder name="single" 
                       class="solr.highlight.SingleFragListBuilder"/>
      
      
      <fragListBuilder name="weighted" 
                       default="true"
                       class="solr.highlight.WeightedFragListBuilder"/>
      
      
      <fragmentsBuilder name="default" 
                        default="true"
                        class="solr.highlight.ScoreOrderFragmentsBuilder">
        
      </fragmentsBuilder>

      
      <fragmentsBuilder name="colored" 
                        class="solr.highlight.ScoreOrderFragmentsBuilder">
        <lst name="defaults">
          <str name="hl.tag.pre"></str>
          <str name="hl.tag.post"></str>
        </lst>
      </fragmentsBuilder>
      
      <boundaryScanner name="default" 
                       default="true"
                       class="solr.highlight.SimpleBoundaryScanner">
        <lst name="defaults">
          <str name="hl.bs.maxScan">10</str>
          <str name="hl.bs.chars">.,!? &#9;&#10;&#13;</str>
        </lst>
      </boundaryScanner>
      
      <boundaryScanner name="breakIterator" 
                       class="solr.highlight.BreakIteratorBoundaryScanner">
        <lst name="defaults">
          
          <str name="hl.bs.type">WORD</str>
          
          
          <str name="hl.bs.language">en</str>
          <str name="hl.bs.country">US</str>
        </lst>
      </boundaryScanner>
    </highlighting>
  </searchComponent>

   

    
    <updateRequestProcessorChain name="uima" default="true">
      <processor
class="org.apache.solr.uima.processor.UIMAUpdateRequestProcessorFactory">
        <lst name="uimaConfig">
           <lst name="runtimeParameters"></lst> 
          
          <str
name="analysisEngine">/org/apache/uima/desc/AggregateGeneAE.xml</str>
          
          
          <bool name="ignoreErrors">true</bool>
          
          <lst name="analyzeFields">
            <bool name="merge">false</bool>
            <arr name="fields">
               <str>medline_abstract_text</str>
               <str>medline_article_title</str> 
            </arr>
          </lst>
          <lst name="fieldMappings">
            <lst name="type">
              <str name="name">org.apache.uima.DictionaryEntry</str>
              <lst name="mapping">
                <str name="feature">coveredText</str>
                <str name="field">genes</str>
              </lst>
            </lst>
          </lst>
        </lst>
      </processor>
      <processor
class="org.apache.solr.uima.processor.UIMAUpdateRequestProcessorFactory">
          <lst name="uimaConfig">
              <lst name="runtimeParameters"></lst>
              <str
name="analysisEngine">/org/apache/uima/desc/AggregatePhenotypeAE.xml</str>
              
              <bool name="ignoreErrors">false</bool>
              
              <lst name="analyzeFields">
                  <bool name="merge">false</bool>
                  <arr name="fields">
                      <str>medline_abstract_text</str>
                      <str>medline_article_title</str>
                  </arr>
              </lst>
            <lst name="fieldMappings">
                  <lst name="type">
                      <str name="name">org.apache.uima.DictionaryEntry</str>
                      <lst name="mapping">
                          <str name="feature">coveredText</str>
                          <str name="field">phenotypes</str>
                      </lst>
                  </lst>
              </lst>
              
          </lst>
      </processor>
      <processor class="solr.LogUpdateProcessorFactory" />
      <processor class="solr.RunUpdateProcessorFactory" />
    </updateRequestProcessorChain>

  <queryResponseWriter name="json" class="solr.JSONResponseWriter">
     
    <str name="content-type">text/plain; charset=UTF-8</str>
  </queryResponseWriter>
  
  
    <queryResponseWriter name="velocity" class="solr.VelocityResponseWriter"
startup="lazy"/>

  <queryResponseWriter name="xslt" class="solr.XSLTResponseWriter">
    <int name="xsltCacheLifetimeSeconds">5</int>
  </queryResponseWriter>    

  
  <admin>
    <defaultQuery>*:*</defaultQuery>
  </admin>

</config>


And here is *solr.xml*:


<?xml version="1.0" encoding="UTF-8" ?>

<solr persistent="false">

  <cores adminPath="/admin/cores" host="${host:}"
hostPort="${jetty.port:8983}" hostContext="${hostContext:solr}">
    <core name="hpo" instanceDir="hpo" />
    <core name="omim" instanceDir="omim" />
    <core name="orphanet" instanceDir="orphanet" />
    <core name="medline-citations" instanceDir="medline-citations" />
    <core name="medline-articles" instanceDir="medline-articles" />
    
    <shardHandlerFactory name="shardHandlerFactory"
class="HttpShardHandlerFactory">
      <str name="urlScheme">${urlScheme:}</str>
    </shardHandlerFactory>
  </cores>
        
</solr>




--
View this message in context: http://lucene.472066.n3.nabble.com/Schema-Parsing-Failed-unknown-field-id-Zookeeper-SolrCloud-tp4160478p4160528.html
Sent from the Solr - User mailing list archive at Nabble.com.

Re: Schema Parsing Failed: unknown field 'id' [Zookeeper, SolrCloud]

Posted by Chris Hostetter <ho...@fucit.org>.
: There is nothing wrong with the declaration of the 'id' field, and I have it
: working fine when it's not using SolrCloud/HDFS. One odd thing is the part

...I can't explain that, but as far as this...

: that says "Schema file is solr/<core name>/schema.xml", because there is no
: schema file there. I have no idea where it is getting that path from. All of

It's a bug in the error message itself...

https://issues.apache.org/jira/browse/SOLR-5814

: the schema files are in solr/<core name>/conf/schema.xml. I'm not sure if
: this is the problem--it must be finding the schema, otherwise how does it
: know about the 'id' field?

The error message is indicating an inconsistnecy in your schema.xml -- 
most likeley related to the <uniqueKey> declaration ... i suspect 
it's saying that your schema.xml defines <uniueKey>id</uniqueKey> but you 
have no <field name="id" .../> anywhere in your schema (hard to be sure 
w/o knowing exactly what version of solr you are running, and w/o seeing a 
full copy of your schema.xml.

none of which explans why you *only* see this with SolrCloud on HDFS.

Full details would help: solr.xml, solrconfig.xml, schema.xml, etc....


-Hoss
http://www.lucidworks.com/