2011/7/13 Sowmya V.B. <vbsow...@gmail.com> > 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??
this refers to: commons-digester-2.0.jar uima-an-alchemy-2.3.1-SNAPSHOT-r1062868.jar uima-an-calais-2.3.1-SNAPSHOT-r1062868.jar uima-an-tagger-2.3.1-SNAPSHOT-r1062868.jar uima-an-wst-2.3.1-SNAPSHOT-r1076132.jar uimaj-core-2.3.1.jar you can find them at: http://svn.apache.org/repos/asf/lucene/dev/tags/lucene_solr_3_3/solr/contrib/uima/lib/ > Does it refer to the > Lib director inside the WEB-INF folder of the Solr webapp? > no, the relative paths in the README and sample solrconfig.xml files refer to the source code structure. However, since you're working from Eclipse and it's not always straightforward to understand what's the base directory for Eclipse, I'd advice to use absolute paths to start and then eventually switch to relative ones when everything's ok. > > 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? > this is ok > > 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. > you can change the logging levels from : http://solrurl:solrport/solr/admin/logging Hope this helps, Tommaso > > 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 > ---------------------------------------------------- >