Hello Tomasso

Thanks for the reply.

I did added uima chain to /javabin handler as you suggested. Now, I get an
internal server error!

Here is the stacktrace.

request:
http://localhost:8080/apache-solr-3.3.0/update/javabin?wt=javabin&version=2
org.apache.solr.common.SolrException: Internal Server Error

Internal Server Error

request:
http://localhost:8080/apache-solr-3.3.0/update/javabin?wt=javabin&version=2
    at
org.apache.solr.client.solrj.impl.CommonsHttpSolrServer.request(CommonsHttpSolrServer.java:435)
    at
org.apache.solr.client.solrj.impl.CommonsHttpSolrServer.request(CommonsHttpSolrServer.java:244)
    at
org.apache.solr.client.solrj.request.AbstractUpdateRequest.process(AbstractUpdateRequest.java:105)
    at org.apache.solr.client.solrj.SolrServer.add(SolrServer.java:49)
    at indexerapp.ir4llSolrIndexer.indexAll(ir4llSolrIndexer.java:150)


Now, I began tracing back from the instructional README.txt file. A few
doubts:

1) copy generated solr-uima jar and its libs (under contrib/uima/lib) inside
a Solr libraries directory. or set <lib/> tags in solrconfig.xml
appropriately to point those jar files. <lib dir="../../contrib/uima/lib" />
<lib dir="../../dist/" regex="apache-solr-uima-\d.*\.jar" />
-Which Solr Libraries directory does this refer to?? Does it refer to the
Lib director inside the WEB-INF folder of the Solr webapp?

2)

<lst name="analyzeFields">
          <bool name="merge">false</bool>
          <arr name="fields">
            <str>text</str>
          </arr>
        </lst>

-the only field I need to send through the pipeline is "text" field. Is it
enough if I specify that inside SolrConfig in this point...or should I do
something more?

3) Where can I see a more detailed Log about what is happening inside Solr?
I am running Solr from Eclipse + Tomcat. Neither the Console nor the Eclipse
Tomcat log show me a detailed errorlog.

S
On Wed, Jul 13, 2011 at 4:48 PM, Tommaso Teofili
<tommaso.teof...@gmail.com>wrote:

> Hello,
>
> I think the problem might be the following, if you defined the update
> request handlers like in the sample solrconfig :
>
> <updateRequestProcessorChain name="uima">
>     <processor
> class="org.apache.solr.uima.processor.UIMAUpdateRequestProcessorFactory">
>      <lst name="uimaConfig">
>     ....
> </updateRequestProcessorChain>
>
> <requestHandler name="/update" class="solr.XmlUpdateRequestHandler">
>    <lst name="defaults">
>      <str name="update.chain">uima</str>
>    </lst>
>  </requestHandler>
> ...
>  <requestHandler name="/update/javabin"
> class="solr.BinaryUpdateRequestHandler" />
>
> then the uima update chain will be executed only for HTTP POSTs on /update
> and not for /update/javabin (that is used by SolrJ), so you may need to
> update the /update/javabin configuration as follows:
>
> <requestHandler name="/update/javabin"
> class="solr.BinaryUpdateRequestHandler" >
>  <lst name="defaults">
>      <str name="update.chain">uima</str>
>    </lst>
> </requestHandler>
>
> Hope this helps,
> Tommaso
>
>
> 2011/7/13 Erick Erickson <erickerick...@gmail.com>
>
> > I'll have to punt here. I don't know the internals well enough to say. I
> > suppose
> > it's possible that the "required fields" check happens *before* the UIMA
> > stuff happens, but since I know so little about UIMA that's a blind guess
> > at best...
> >
> > Anyone with real knowledge want to chime in here?
> >
> > Erick
> >
> > On Wed, Jul 13, 2011 at 8:08 AM, Sowmya V.B. <vbsow...@gmail.com> wrote:
> > > Hi Eric*
> > >
> > >>>If I'm reading this right, you're labeling certain fields as required.
> > All
> > > docs MUST have those fields (I admit the error message could be more
> > > informative). So it sounds like things are behaving as I'd expect, your
> > > documents just don't contain the required fields.*
> > > - But, the UIMA pipeline is supposed to add the missing fields for the
> > > document.
> > >
> > > Since "ant clean dist" compiled without build errors, and it was
> > essentially
> > > the same pipeline I already used before on a different indexer, I can
> say
> > > that there is no problem with the Pipeline as such.
> > >
> > > That again gets back my other query: While indexing, should I mention
> > > something else, apart from just saying:
> > >
> > > Something like:
> > > doc1.addfield(A)
> > > doc1.addfield(B)
> > > docs.add(doc1)
> > > ....
> > >
> > > docN.addfield(A)
> > > docN.addfield(B)
> > > docs.add(docN)
> > >
> > > UpdateResponse response = server.add(docs)
> > >
> > > - My understanding was that: the UIMAProcessor runs after I say
> > > server.add()... inside the updateprocessor. Is it not so?
> > >
> > > S
> > >
> > > On Wed, Jul 13, 2011 at 2:00 PM, Erick Erickson <
> erickerick...@gmail.com
> > >wrote:
> > >
> > >> If I'm reading this right, you're labeling certain fields as required.
> > All
> > >> docs
> > >> MUST have those fields (I admit the error message could be more
> > >> informative). So it sounds like things are behaving as I'd expect,
> your
> > >> documents just don't contain the required fields.
> > >>
> > >> Best
> > >> Erick
> > >>
> > >> On Wed, Jul 13, 2011 at 4:54 AM, Sowmya V.B. <vbsow...@gmail.com>
> > wrote:
> > >> > Hi All
> > >> >
> > >> > I have a problem making the indexer work with the UIMA fields.
> > >> >
> > >> > Here is what I did (With the help of this community): I compiled a
> > >> > Solr-UIMA-snapshot, using "ant clean dist", by adding my own
> > annotators
> > >> > there.
> > >> > It compiled without any errors. and i obtained a jar file.
> > >> >
> > >> > Now, following the instructions on the readme (
> > >> >
> > >>
> >
> https://svn.apache.org/repos/asf/lucene/dev/tags/lucene_solr_3_3/solr/contrib/uima/README.txt
> > >> > )
> > >> >
> > >> >  I modified my SolrConfig.xml and Schema.xml as suggested in the
> > README.
> > >> >
> > >> > As long as i say "required=false" on the UIMA generated fields, the
> > >> indexing
> > >> > works fine...without a UIMA annotation.
> > >> >
> > >> > However, once I say "required=true", I get an error:
> > >> >
> > >> > request:
> > >> >
> > http://anafi:8080/apache-solr-3.3.0/update/javabin?wt=javabin&version=2
> > >> > org.apache.solr.common.SolrException: Bad Request
> > >> >
> > >> > Bad Request
> > >> >
> > >> > request:
> > >> >
> > >>
> >
> http://localhost:8080/apache-solr-3.3.0/update/javabin?wt=javabin&version=2
> > >> >    at
> > >> >
> > >>
> >
> org.apache.solr.client.solrj.impl.CommonsHttpSolrServer.request(CommonsHttpSolrServer.java:435)
> > >> >    at
> > >> >
> > >>
> >
> org.apache.solr.client.solrj.impl.CommonsHttpSolrServer.request(CommonsHttpSolrServer.java:244)
> > >> >    at
> > >> >
> > >>
> >
> org.apache.solr.client.solrj.request.AbstractUpdateRequest.process(AbstractUpdateRequest.java:105)
> > >> >    at
> org.apache.solr.client.solrj.SolrServer.add(SolrServer.java:49)
> > >> >    at
> indexerapp.ir4llSolrIndexer.indexAll(ir4llSolrIndexer.java:150)
> > >> >    at indexerapp.ir4llSolrIndexer.main(ir4llSolrIndexer.java:57)
> > >> >
> > >> > Is thre something during indexing that I need to do apart from
> saying:
> > >> >
> > >> > UpdateResponse response = server.add(docs);
> > >> > (where docs is a collection of documents, without UIMA indexing.)
> > >> >
> > >> > My understanding is that the UIMA annotation happens after calling
> the
> > >> > server.add(docs). Is that right?
> > >> >
> > >> > S.
> > >> > --
> > >> > Sowmya V.B.
> > >> > ----------------------------------------------------
> > >> > Losing optimism is blasphemy!
> > >> > http://vbsowmya.wordpress.com
> > >> > ----------------------------------------------------
> > >> >
> > >>
> > >
> > >
> > >
> > > --
> > > Sowmya V.B.
> > > ----------------------------------------------------
> > > Losing optimism is blasphemy!
> > > http://vbsowmya.wordpress.com
> > > ----------------------------------------------------
> > >
> >
>



-- 
Sowmya V.B.
----------------------------------------------------
Losing optimism is blasphemy!
http://vbsowmya.wordpress.com
----------------------------------------------------

Reply via email to