You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Swapnil M Mane (JIRA)" <ji...@apache.org> on 2018/03/01 06:27:00 UTC

[jira] [Commented] (SOLR-7821) example films data doesn't work consistently with data-driven schema (schemaless)

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

Swapnil M Mane commented on SOLR-7821:
--------------------------------------

Nice, thanks [~ctargett] :)

> example films data doesn't work consistently with data-driven schema (schemaless)
> ---------------------------------------------------------------------------------
>
>                 Key: SOLR-7821
>                 URL: https://issues.apache.org/jira/browse/SOLR-7821
>             Project: Solr
>          Issue Type: Bug
>            Reporter: Timothy Potter
>            Priority: Major
>         Attachments: tutorial-add-field.png
>
>
> On 5.2.1, tried to index the films data into a collection
> {code}
> [~/dev/lw/tools/solr-5.2.1]$ bin/solr -cloud
> Waiting to see Solr listening on port 8983 [/]  
> Started Solr server on port 8983 (pid=98797). Happy searching!
> [~/dev/lw/tools/solr-5.2.1]$ bin/solr create -c gettingstarted -shards 2
> Connecting to ZooKeeper at localhost:9983
> Uploading /Users/timpotter/dev/lw/tools/solr-5.2.1/server/solr/configsets/data_driven_schema_configs/conf for config gettingstarted to ZooKeeper at localhost:9983
> Creating new collection 'gettingstarted' using command:
> http://192.168.1.2:8983/solr/admin/collections?action=CREATE&name=gettingstarted&numShards=2&replicationFactor=1&maxShardsPerNode=2&collection.configName=gettingstarted
> {
>   "responseHeader":{
>     "status":0,
>     "QTime":2575},
>   "success":{"":{
>       "responseHeader":{
>         "status":0,
>         "QTime":2367},
>       "core":"gettingstarted_shard2_replica1"}}}
> [~/dev/lw/tools/solr-5.2.1]$ bin/post -c gettingstarted example/films/films.json
> /Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/bin/java -classpath /Users/timpotter/dev/lw/tools/solr-5.2.1/dist/solr-core-5.2.1.jar -Dauto=yes -Dc=gettingstarted -Ddata=files org.apache.solr.util.SimplePostTool example/films/films.json
> SimplePostTool version 5.0.0
> Posting files to [base] url http://localhost:8983/solr/gettingstarted/update...
> Entering auto mode. File endings considered are xml,json,csv,pdf,doc,docx,ppt,pptx,xls,xlsx,odt,odp,ods,ott,otp,ots,rtf,htm,html,txt,log
> POSTing file films.json (application/json) to [base]
> SimplePostTool: WARNING: Solr returned an error #400 (Bad Request) for url: http://localhost:8983/solr/gettingstarted/update
> SimplePostTool: WARNING: Response: {"responseHeader":{"status":400,"QTime":285},"error":{"msg":"ERROR: [doc=/en/quien_es_el_senor_lopez] Error adding field 'name'='¿Quién es el señor López?' msg=For input string: \"¿Quién es el señor López?\"","code":400}}
> SimplePostTool: WARNING: IOException while reading response: java.io.IOException: Server returned HTTP response code: 400 for URL: http://localhost:8983/solr/gettingstarted/update
> 1 files indexed.
> COMMITting Solr index changes to http://localhost:8983/solr/gettingstarted/update...
> Time spent: 0:00:00.370
> {code}
> In the solr.log, I see:
> {code}
> ERROR - 2015-07-22 21:54:36.395; [gettingstarted shard2 core_node1 gettingstarted_shard2_replica1] org.apache.solr.common.SolrException; org.apache.solr.common.SolrException: ERROR: [doc=/en/quien_es_el_senor_lopez] Error adding field 'name'='¿Quién es el señor López?' msg=For input string: "¿Quién es el señor López?"
>         at org.apache.solr.update.DocumentBuilder.toDocument(DocumentBuilder.java:176)
>         at org.apache.solr.update.AddUpdateCommand.getLuceneDocument(AddUpdateCommand.java:83)
>         at org.apache.solr.update.DirectUpdateHandler2.addDoc0(DirectUpdateHandler2.java:237)
>         at org.apache.solr.update.DirectUpdateHandler2.addDoc(DirectUpdateHandler2.java:163)
>         at org.apache.solr.update.processor.RunUpdateProcessor.processAdd(RunUpdateProcessorFactory.java:69)
>         at org.apache.solr.update.processor.UpdateRequestProcessor.processAdd(UpdateRequestProcessor.java:51)
>         at org.apache.solr.update.processor.AddSchemaFieldsUpdateProcessorFactory$AddSchemaFieldsUpdateProcessor.processAdd(AddSchemaFieldsUpdateProcessorFactory.java:328)
>         at org.apache.solr.update.processor.UpdateRequestProcessor.processAdd(UpdateRequestProcessor.java:51)
>         at org.apache.solr.update.processor.FieldMutatingUpdateProcessor.processAdd(FieldMutatingUpdateProcessor.java:117)
>         at org.apache.solr.update.processor.UpdateRequestProcessor.processAdd(UpdateRequestProcessor.java:51)
>         at org.apache.solr.update.processor.FieldMutatingUpdateProcessor.processAdd(FieldMutatingUpdateProcessor.java:117)
>         at org.apache.solr.update.processor.UpdateRequestProcessor.processAdd(UpdateRequestProcessor.java:51)
>         at org.apache.solr.update.processor.FieldMutatingUpdateProcessor.processAdd(FieldMutatingUpdateProcessor.java:117)
>         at org.apache.solr.update.processor.UpdateRequestProcessor.processAdd(UpdateRequestProcessor.java:51)
>         at org.apache.solr.update.processor.FieldMutatingUpdateProcessor.processAdd(FieldMutatingUpdateProcessor.java:117)
>         at org.apache.solr.update.processor.UpdateRequestProcessor.processAdd(UpdateRequestProcessor.java:51)
>         at org.apache.solr.update.processor.FieldNameMutatingUpdateProcessorFactory$1.processAdd(FieldNameMutatingUpdateProcessorFactory.java:79)
>         at org.apache.solr.update.processor.UpdateRequestProcessor.processAdd(UpdateRequestProcessor.java:51)
>         at org.apache.solr.update.processor.FieldMutatingUpdateProcessor.processAdd(FieldMutatingUpdateProcessor.java:117)
>         at org.apache.solr.update.processor.UpdateRequestProcessor.processAdd(UpdateRequestProcessor.java:51)
>         at org.apache.solr.update.processor.DistributedUpdateProcessor.doLocalAdd(DistributedUpdateProcessor.java:955)
>         at org.apache.solr.update.processor.DistributedUpdateProcessor.versionAdd(DistributedUpdateProcessor.java:1110)
>         at org.apache.solr.update.processor.DistributedUpdateProcessor.processAdd(DistributedUpdateProcessor.java:706)
>         at org.apache.solr.update.processor.LogUpdateProcessor.processAdd(LogUpdateProcessorFactory.java:104)
>         at org.apache.solr.update.processor.UpdateRequestProcessor.processAdd(UpdateRequestProcessor.java:51)
>         at org.apache.solr.update.processor.AbstractDefaultValueUpdateProcessorFactory$DefaultValueUpdateProcessor.processAdd(AbstractDefaultValueUpdateProcessorFactory.java:94)
>         at org.apache.solr.handler.loader.JsonLoader$SingleThreadedJsonLoader.handleAdds(JsonLoader.java:470)
>         at org.apache.solr.handler.loader.JsonLoader$SingleThreadedJsonLoader.processUpdate(JsonLoader.java:134)
>         at org.apache.solr.handler.loader.JsonLoader$SingleThreadedJsonLoader.load(JsonLoader.java:113)
>         at org.apache.solr.handler.loader.JsonLoader.load(JsonLoader.java:76)
>         at org.apache.solr.handler.UpdateRequestHandler$1.load(UpdateRequestHandler.java:98)
>         at org.apache.solr.handler.ContentStreamHandlerBase.handleRequestBody(ContentStreamHandlerBase.java:74)
>         at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:143)
>        at org.apache.solr.core.SolrCore.execute(SolrCore.java:2064)
>         at org.apache.solr.servlet.HttpSolrCall.execute(HttpSolrCall.java:654)
>         at org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:450)
>         at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:227)
>         at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:196)
>         at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
>         at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585)
>         at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
>         at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:577)
>         at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223)
>         at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127)
>         at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515)
>         at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
>         at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061)
>         at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
>         at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:215)
>         at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:110)
>         at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
>         at org.eclipse.jetty.server.Server.handle(Server.java:497)
>         at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:310)
>         at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257)
>         at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540)
>         at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)
>         at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)
>         at java.lang.Thread.run(Thread.java:745)
> Caused by: java.lang.NumberFormatException: For input string: "¿Quién es el señor López?"
>         at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
>         at java.lang.Long.parseLong(Long.java:589)
>         at java.lang.Long.parseLong(Long.java:631)
>         at org.apache.solr.schema.TrieField.createField(TrieField.java:643)
>         at org.apache.solr.schema.TrieField.createFields(TrieField.java:694)
>         at org.apache.solr.update.DocumentBuilder.addField(DocumentBuilder.java:48)
>         at org.apache.solr.update.DocumentBuilder.toDocument(DocumentBuilder.java:123)
>         ... 57 more
> {code}
> Clearly this is because some films have already been added that have numbers as the name (but in double quotes). Perhaps the field-guessing component should take into account whether the field value is a string in the JSON?



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

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