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 Linda Tan <Li...@cnet.com> on 2006/03/17 00:11:51 UTC

bug?: copyField on wildcarded field name

Is this a bug? In my schema.xml:

....
<fields>
 <field name="attr*" type="text" indexed="true" stored="true"/>
</fields>

<copyField source="attr6" dest="title"/>
<copyField source="attr7" dest="keywords"/>
....

When I start the server, I get 
org.apache.solr.core.SolrException: undefined field attr1


Log file snippet follows:

2714 [main] WARN org.mortbay.log - EXCEPTION 
java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.jav
a:39)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor
Impl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at
org.mortbay.xml.XmlConfiguration.call(XmlConfiguration.java:502)
        at
org.mortbay.xml.XmlConfiguration.configure(XmlConfiguration.java:216)
        at
org.mortbay.xml.XmlConfiguration.newInstance(XmlConfiguration.java:178)
        at
org.mortbay.xml.XmlConfiguration.main(XmlConfiguration.java:872)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.jav
a:39)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor
Impl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at org.mortbay.start.Main.invokeMain(Main.java:149)
        at org.mortbay.start.Main.start(Main.java:478)
        at org.mortbay.start.Main.main(Main.java:92)
Caused by: org.apache.solr.core.SolrException: undefined field attr1
        at org.apache.solr.schema.IndexSchema.getField(Unknown Source)
        at org.apache.solr.schema.IndexSchema.readConfig(Unknown Source)
        at org.apache.solr.schema.IndexSchema.<init>(Unknown Source)
        at org.apache.solr.core.SolrCore.<init>(Unknown Source)
        at org.apache.solr.core.SolrCore.getSolrCore(Unknown Source)
        at org.apache.solr.servlet.SolrServlet.init(Unknown Source)
        at javax.servlet.GenericServlet.init(GenericServlet.java:261)
        at
org.mortbay.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:3
62)
        at
org.mortbay.jetty.servlet.ServletHolder.doStart(ServletHolder.java:219)
        at
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:37)
        at
org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:
565)
        at
org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:9
24)
        at
org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:341
)
        at
org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:330)
        at
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:37)
        at
org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.ja
va:101)
        at org.mortbay.jetty.Server.doStart(Server.java:235)
        at
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:37)


thx,

-linda

Re: bug?: copyField on wildcarded field name

Posted by Yonik Seeley <ys...@gmail.com>.
Oh, and there is a current limitation that you can't do dynamic
copyField statements
lilke <copyField source="attr*", etc...>
Do you need that?

I *think* you should still be able to use specific fields in copyField
statements, even when the types of those specific fields are defined
by dynamicField.

-Yonik


On 3/16/06, Yonik Seeley <ys...@gmail.com> wrote:
> Hi Linda,
>
> You need to use the <dynamicField> tag when declaring dynamic fields
>
> Hmmm, the "Unknown Source" in the stack traces is problematic... it
> means we built Solr without debugging info.
>
> -Yonik
>
> On 3/16/06, Linda Tan <Li...@cnet.com> wrote:
> > Is this a bug? In my schema.xml:
> >
> > ....
> > <fields>
> >  <field name="attr*" type="text" indexed="true" stored="true"/>
> > </fields>
> >
> > <copyField source="attr6" dest="title"/>
> > <copyField source="attr7" dest="keywords"/>
> > ....
> >
> > When I start the server, I get
> > org.apache.solr.core.SolrException: undefined field attr1
> >
> >
> > Log file snippet follows:
> >
> > 2714 [main] WARN org.mortbay.log - EXCEPTION
> > java.lang.reflect.InvocationTargetException
> >         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> >         at
> > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.jav
> > a:39)
> >         at
> > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor
> > Impl.java:25)
> >         at java.lang.reflect.Method.invoke(Method.java:585)
> >         at
> > org.mortbay.xml.XmlConfiguration.call(XmlConfiguration.java:502)
> >         at
> > org.mortbay.xml.XmlConfiguration.configure(XmlConfiguration.java:216)
> >         at
> > org.mortbay.xml.XmlConfiguration.newInstance(XmlConfiguration.java:178)
> >         at
> > org.mortbay.xml.XmlConfiguration.main(XmlConfiguration.java:872)
> >         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> >         at
> > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.jav
> > a:39)
> >         at
> > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor
> > Impl.java:25)
> >         at java.lang.reflect.Method.invoke(Method.java:585)
> >         at org.mortbay.start.Main.invokeMain(Main.java:149)
> >         at org.mortbay.start.Main.start(Main.java:478)
> >         at org.mortbay.start.Main.main(Main.java:92)
> > Caused by: org.apache.solr.core.SolrException: undefined field attr1
> >         at org.apache.solr.schema.IndexSchema.getField(Unknown Source)
> >         at org.apache.solr.schema.IndexSchema.readConfig(Unknown Source)
> >         at org.apache.solr.schema.IndexSchema.<init>(Unknown Source)
> >         at org.apache.solr.core.SolrCore.<init>(Unknown Source)
> >         at org.apache.solr.core.SolrCore.getSolrCore(Unknown Source)
> >         at org.apache.solr.servlet.SolrServlet.init(Unknown Source)
> >         at javax.servlet.GenericServlet.init(GenericServlet.java:261)
> >         at
> > org.mortbay.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:3
> > 62)
> >         at
> > org.mortbay.jetty.servlet.ServletHolder.doStart(ServletHolder.java:219)
> >         at
> > org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:37)
> >         at
> > org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:
> > 565)
> >         at
> > org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:9
> > 24)
> >         at
> > org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:341
> > )
> >         at
> > org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:330)
> >         at
> > org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:37)
> >         at
> > org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.ja
> > va:101)
> >         at org.mortbay.jetty.Server.doStart(Server.java:235)
> >         at
> > org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:37)
> >
> >
> > thx,
> >
> > -linda
>


--
-Yonik
http://incubator.apache.org/solr Solr, The Open Source Lucene Search Server

Re: bug?: copyField on wildcarded field name

Posted by Yonik Seeley <ys...@gmail.com>.
Hi Linda,

You need to use the <dynamicField> tag when declaring dynamic fields

Hmmm, the "Unknown Source" in the stack traces is problematic... it
means we built Solr without debugging info.

-Yonik

On 3/16/06, Linda Tan <Li...@cnet.com> wrote:
> Is this a bug? In my schema.xml:
>
> ....
> <fields>
>  <field name="attr*" type="text" indexed="true" stored="true"/>
> </fields>
>
> <copyField source="attr6" dest="title"/>
> <copyField source="attr7" dest="keywords"/>
> ....
>
> When I start the server, I get
> org.apache.solr.core.SolrException: undefined field attr1
>
>
> Log file snippet follows:
>
> 2714 [main] WARN org.mortbay.log - EXCEPTION
> java.lang.reflect.InvocationTargetException
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.jav
> a:39)
>         at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor
> Impl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:585)
>         at
> org.mortbay.xml.XmlConfiguration.call(XmlConfiguration.java:502)
>         at
> org.mortbay.xml.XmlConfiguration.configure(XmlConfiguration.java:216)
>         at
> org.mortbay.xml.XmlConfiguration.newInstance(XmlConfiguration.java:178)
>         at
> org.mortbay.xml.XmlConfiguration.main(XmlConfiguration.java:872)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.jav
> a:39)
>         at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor
> Impl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:585)
>         at org.mortbay.start.Main.invokeMain(Main.java:149)
>         at org.mortbay.start.Main.start(Main.java:478)
>         at org.mortbay.start.Main.main(Main.java:92)
> Caused by: org.apache.solr.core.SolrException: undefined field attr1
>         at org.apache.solr.schema.IndexSchema.getField(Unknown Source)
>         at org.apache.solr.schema.IndexSchema.readConfig(Unknown Source)
>         at org.apache.solr.schema.IndexSchema.<init>(Unknown Source)
>         at org.apache.solr.core.SolrCore.<init>(Unknown Source)
>         at org.apache.solr.core.SolrCore.getSolrCore(Unknown Source)
>         at org.apache.solr.servlet.SolrServlet.init(Unknown Source)
>         at javax.servlet.GenericServlet.init(GenericServlet.java:261)
>         at
> org.mortbay.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:3
> 62)
>         at
> org.mortbay.jetty.servlet.ServletHolder.doStart(ServletHolder.java:219)
>         at
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:37)
>         at
> org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:
> 565)
>         at
> org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:9
> 24)
>         at
> org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:341
> )
>         at
> org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:330)
>         at
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:37)
>         at
> org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.ja
> va:101)
>         at org.mortbay.jetty.Server.doStart(Server.java:235)
>         at
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:37)
>
>
> thx,
>
> -linda