Hello, thanks for the answer. Sorry, I actually meant attribute "subFieldSuffix".
So, in order to be able to index several features in one solr field, should I program a new Java class inheriting AbstractSubTypeFieldType ? Or is there another way to do it ? Thanks ! Jim On Thu, Sep 19, 2013 at 4:05 PM, Jack Krupansky <j...@basetechnology.com>wrote: > There is no such fieldType attribute as "subSuffix". Solr is just > complaining about extraneous, junk attributes. Delete the crap. > > -- Jack Krupansky > > -----Original Message----- From: jimmy nguyen > Sent: Thursday, September 19, 2013 12:43 PM > To: solr-user@lucene.apache.org > Subject: Indexing several sub-fields in one solr field > > > Hello, > > I'd like to index into Solr (4.4.0) documents that I previously annotated > with GATE (7.1). > I use Behemoth to be able to run my GATE application on a corpus of > documents on Hadoop, and then Behemoth allows me to directly send my > annotated documents to solr. But my question is not about the Behemoth or > Hadoop parts. > > The annotations produced by my GATE application usually have several > features (for example, annotation type Person has the following features : > Person.title, Person.firstName, Person.lastName, Person.gender). > Each of my documents may contain more than one Person annotation, which is > why I would like to index all the features for one annotation in one field > in solr. > How do I do that ? > > I thought I'd add the following lines in schema.xml : > > <types> > ... > <fieldType name="person" class="solr.StrField" subSuffix="_person" /> > ... > </types> > ... > <fields> > ... > <field name="personinfo" type="person" indexed="true" stored="true" > multiValued="true" /> > <dynamicField name="*_person" type="text_general" indexed="true" > stored="false" /> > ... > </fields> > > > But as soon as I start my solr instances and try to access solr from my > browser, I get an HTTP ERROR 500 : > > Problem accessing /solr/. Reason: > > {msg=SolrCore 'collection1' is not available due to init failure: > Plugin Initializing failure for [schema.xml] > fieldType,trace=org.apache.**solr.common.SolrException: SolrCore > 'collection1' is not available due to init failure: Plugin Initializing > failure for [schema.xml] fieldType > at org.apache.solr.core.**CoreContainer.getCore(**CoreContainer.java:860) > at > org.apache.solr.servlet.**SolrDispatchFilter.doFilter(** > SolrDispatchFilter.java:287) > at > org.apache.solr.servlet.**SolrDispatchFilter.doFilter(** > SolrDispatchFilter.java:158) > at > org.eclipse.jetty.servlet.**ServletHandler$CachedChain.** > doFilter(ServletHandler.java:**1419) > at > org.eclipse.jetty.servlet.**ServletHandler.doHandle(** > ServletHandler.java:455) > at > org.eclipse.jetty.server.**handler.ScopedHandler.handle(** > ScopedHandler.java:137) > at > org.eclipse.jetty.security.**SecurityHandler.handle(** > SecurityHandler.java:557) > at > org.eclipse.jetty.server.**session.SessionHandler.** > doHandle(SessionHandler.java:**231) > at > org.eclipse.jetty.server.**handler.ContextHandler.** > doHandle(ContextHandler.java:**1075) > at org.eclipse.jetty.servlet.**ServletHandler.doScope(** > ServletHandler.java:384) > at > org.eclipse.jetty.server.**session.SessionHandler.** > doScope(SessionHandler.java:**193) > at > org.eclipse.jetty.server.**handler.ContextHandler.** > doScope(ContextHandler.java:**1009) > at > org.eclipse.jetty.server.**handler.ScopedHandler.handle(** > ScopedHandler.java:135) > at > org.eclipse.jetty.server.**handler.**ContextHandlerCollection.**handle(** > ContextHandlerCollection.java:**255) > at > org.eclipse.jetty.server.**handler.HandlerCollection.** > handle(HandlerCollection.java:**154) > at > org.eclipse.jetty.server.**handler.HandlerWrapper.handle(** > HandlerWrapper.java:116) > at org.eclipse.jetty.server.**Server.handle(Server.java:368) > at > org.eclipse.jetty.server.**AbstractHttpConnection.**handleRequest(** > AbstractHttpConnection.java:**489) > at > org.eclipse.jetty.server.**BlockingHttpConnection.**handleRequest(** > BlockingHttpConnection.java:**53) > at > org.eclipse.jetty.server.**AbstractHttpConnection.**headerComplete(** > AbstractHttpConnection.java:**942) > at > org.eclipse.jetty.server.**AbstractHttpConnection$** > RequestHandler.headerComplete(**AbstractHttpConnection.java:**1004) > at org.eclipse.jetty.http.**HttpParser.parseNext(**HttpParser.java:640) > at org.eclipse.jetty.http.**HttpParser.parseAvailable(** > HttpParser.java:235) > at > org.eclipse.jetty.server.**BlockingHttpConnection.handle(** > BlockingHttpConnection.java:**72) > at > org.eclipse.jetty.server.bio.**SocketConnector$**ConnectorEndPoint.run(** > SocketConnector.java:264) > at > org.eclipse.jetty.util.thread.**QueuedThreadPool.runJob(** > QueuedThreadPool.java:608) > at > org.eclipse.jetty.util.thread.**QueuedThreadPool$3.run(** > QueuedThreadPool.java:543) > at java.lang.Thread.run(Thread.**java:722) > Caused by: org.apache.solr.common.**SolrException: Plugin Initializing > failure for [schema.xml] fieldType > at > org.apache.solr.util.plugin.**AbstractPluginLoader.load(** > AbstractPluginLoader.java:193) > at org.apache.solr.schema.**IndexSchema.readSchema(**IndexSchema.java:467) > at org.apache.solr.schema.**IndexSchema.<init>(**IndexSchema.java:164) > 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:268) > at org.apache.solr.core.**CoreContainer.create(**CoreContainer.java:655) > at org.apache.solr.core.**CoreContainer$1.call(**CoreContainer.java:364) > at org.apache.solr.core.**CoreContainer$1.call(**CoreContainer.java:356) > at java.util.concurrent.**FutureTask$Sync.innerRun(**FutureTask.java:334) > at java.util.concurrent.**FutureTask.run(FutureTask.**java:166) > at java.util.concurrent.**Executors$RunnableAdapter.** > call(Executors.java:471) > at java.util.concurrent.**FutureTask$Sync.innerRun(**FutureTask.java:334) > at java.util.concurrent.**FutureTask.run(FutureTask.**java:166) > at > java.util.concurrent.**ThreadPoolExecutor.runWorker(** > ThreadPoolExecutor.java:1110) > at > java.util.concurrent.**ThreadPoolExecutor$Worker.run(** > ThreadPoolExecutor.java:603) > ... 1 more > Caused by: java.lang.RuntimeException: schema fieldtype > ladate(org.apache.solr.schema.**StrField) invalid > arguments:{subSuffix=_ladate} > at org.apache.solr.schema.**FieldType.setArgs(FieldType.**java:187) > at > org.apache.solr.schema.**FieldTypePluginLoader.init(** > FieldTypePluginLoader.java:**141) > at > org.apache.solr.schema.**FieldTypePluginLoader.init(** > FieldTypePluginLoader.java:43) > at > org.apache.solr.util.plugin.**AbstractPluginLoader.load(** > AbstractPluginLoader.java:190) > ... 16 more > ,code=500} > > > I understand that using class="solr.StrField" might not be the brightest > thing to do, but I would't know what class I should use for my "person" > fieldType... Would I have to program a new Java class myself ? > > Or am I doing something else wrong ? What should I do to index several > features for one annotation in the same solr field ? > > Thanks ! > Jim >