lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hoss Man (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (SOLR-3434) CSVRequestHandler does not parse header properly
Date Fri, 04 May 2012 02:16:48 GMT

    [ https://issues.apache.org/jira/browse/SOLR-3434?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13268043#comment-13268043
] 

Hoss Man commented on SOLR-3434:
--------------------------------

Two other things i wanted to explicitly note:

* the error message that david is getting ("Document is missing mandatory uniqueKey field:
"jq_idn") is most likely because of the {{"\*"}} dynamicField i mentioned -- all of the fields
in the file are getting added with the verbatim field name (ie: "{{jq_idn_______}}") so then
there is an error when the required fields aren't found
* even if/when the header logic is improved to also trim, this file would still likelye not
do what you expect because of that second line (consisting of many "{{------}}" values) ...
the loader will also try to index that line as a document, so if any of your field types have
any constraints on them (ie: numbers or dates) that row will fail -- you'll need to use the
"{{skipLines}}" option to ignore it
* you could work around this header triming issue by listing the field names explicitly (using
the "{{fieldnames}}" param, in addition to using {{skipLines=2}}
                
> CSVRequestHandler does not parse header properly
> ------------------------------------------------
>
>                 Key: SOLR-3434
>                 URL: https://issues.apache.org/jira/browse/SOLR-3434
>             Project: Solr
>          Issue Type: Bug
>    Affects Versions: 3.6
>         Environment: Linux
>            Reporter: david babits
>              Labels: CSV,, header, separator
>
> The documentation says:
> header
> true if the first line of the CSV input contains field or column names. The default is
header=true. If the fieldnames parameter is absent, these field names will be used when adding
documents to the index.
> My command:
> /usr/bin/curl  --proxy ""   'http://localhost:8983/solr/update/csv?commit=true&debug=true&separator=|&escape=\&trim=true&header=true&overwrite=true'
 --data-binary @/tmp/file_with_header.txt   -H 'Content-type:text/plain; charset=utf-8'
> My data file (/tmp/file_with_header.txt) :
> |busdate |book_id    |jq_idn       |name_id
> |--------|-----------|-------------|-----------
> |20120420|      15600|   2070469502|      12787
> |20120420|      64400|   2070469503|      12787
> |20120420|     100000|   2070469501|      12787
> |20120420|      60000|   2070469504|      12787
> |20120420|      60000|   2070538002|      12787
> |20120420|     206501|   2070538003|      12787
> |20120420|     199418|   2070538004|      12787
> |20120420|       7000|   2070538005|      12787
> schema.xml: (tried different variations)
>     897    <field name="jq_idn" type="string" indexed="true" stored="true" required="false"
/> 
>    1005    <uniqueKey>jq_idn</uniqueKey>
> Stack trace:
> SEVERE: org.apache.solr.common.SolrException: Document is missing mandatory uniqueKey
field: jq_idn
>         at org.apache.solr.update.UpdateHandler.getIndexedId(UpdateHandler.java:118)
>         at org.apache.solr.update.DirectUpdateHandler2.addDoc(DirectUpdateHandler2.java:229)
>         at org.apache.solr.update.processor.RunUpdateProcessor.processAdd(RunUpdateProcessorFactory.java:61)
>         at org.apache.solr.update.processor.LogUpdateProcessor.processAdd(LogUpdateProcessorFactory.java:115)
>         at org.apache.solr.handler.CSVLoader.doAdd(CSVRequestHandler.java:416)
>         at org.apache.solr.handler.SingleThreadedCSVLoader.addDoc(CSVRequestHandler.java:431)
>         at org.apache.solr.handler.CSVLoader.load(CSVRequestHandler.java:393)
>         at org.apache.solr.handler.ContentStreamHandlerBase.handleRequestBody(ContentStreamHandlerBase.java:58)
>         at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:129)
>         at org.apache.solr.core.RequestHandlers$LazyRequestHandlerWrapper.handleRequest(RequestHandlers.java:244)
>         at org.apache.solr.core.SolrCore.execute(SolrCore.java:1376)
>         at org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:365)
>         at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:260)
>         at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1212)
>         at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:399)
>         at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
>         at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
>         at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)
>         at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:450)
>         at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
>         at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
>         at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
>         at org.mortbay.jetty.Server.handle(Server.java:326)
>         at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
>         at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:945)
>         at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:756)
>         at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
>         at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
>         at org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:228)
>         at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org


Mime
View raw message