Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
当我尝试插入1000000行时,solr索引不起作用,但当我尝试索引400000行或以下时,solr索引工作正常_Solr_Full Text Indexing - Fatal编程技术网

当我尝试插入1000000行时,solr索引不起作用,但当我尝试索引400000行或以下时,solr索引工作正常

当我尝试插入1000000行时,solr索引不起作用,但当我尝试索引400000行或以下时,solr索引工作正常,solr,full-text-indexing,Solr,Full Text Indexing,我正在使用Solr4.7.1并尝试进行完整导入。我的数据源是mysql中的一个表。它有10000000行和20列 每当我尝试进行完整导入时,solr停止响应。但当我尝试输入40万或更少的数据时,效果很好 如果我尝试导入的内容超过此solr不会对结果进行索引,则它会停止响应或显示“索引失败”。错误日志中写着“无法执行查询”。但我不明白为什么查询在记录数较少的情况下运行良好,但在运行记录数较多的情况下却失败了 我的系统配置如下 CPU-i7 Ram-6Gb OS-64位windows 7 我不知道问

我正在使用Solr4.7.1并尝试进行完整导入。我的数据源是mysql中的一个表。它有10000000行和20列

每当我尝试进行完整导入时,solr停止响应。但当我尝试输入40万或更少的数据时,效果很好

如果我尝试导入的内容超过此solr不会对结果进行索引,则它会停止响应或显示“索引失败”。错误日志中写着“无法执行查询”。但我不明白为什么查询在记录数较少的情况下运行良好,但在运行记录数较多的情况下却失败了

我的系统配置如下

CPU-i7 Ram-6Gb OS-64位windows 7 我不知道问题出在哪里,我已经尝试将max_allowed_数据包增加到1000M,甚至是java堆大小

请帮忙,谢谢

这是错误代码

`处理时出现异常:playername文档:SolrInputDocument(字段:[]):org.apache.solr.handler.dataimport.DataImportHandler异常:无法执行查询:选择播放器id、名字、姓氏、值1、值2、值3、值4、值5、值6、值7、值8、值9、值10、值11、值18、值19、值20、国家/地区id、playername\modtime、,玩家名称中的玩家标志,其中“true”!='false'或playername.playername_modtime>'2014-05-23 10:38:56'在org.apache.solr.handler.dataimport.dataimportandlexception.wrapAndThrow(dataimportandlexception.java:71)在org.apache.solr.handler.dataimport.JdbcDataSource$resultseterator处处理文档#1。(JdbcDataSource.java:281)org.apache.solr.handler.dataimport.JdbcDataSource.getData(JdbcDataSource.java:238)org.apache.solr.handler.dataimport.JdbcDataSource.getData(JdbcDataSource.java:42)org.apache.solr.handler.dataimport.SqlEntityProcessor.initQuery(SqlEntityProcessor.java:59)org.apache.solr.handler.dataimport.SqlEntityProcessor.nextRow(SqlEntityProcessor.java:73)在org.apache.solr.handler.dataimport.EntityProcessorWrapper.nextRow(EntityProcessorWrapper.java:243)在org.apache.solr.handler.dataimport.docbuildDocument(DocBuilder.java:477)在org.apache.solr.handler.dataimport.docbuildDocument(docbuildDocument.java:416)org.apache.solr.handler.dataimport.DocBuilder.doFullDump(DocBuilder.java:331)org.apache.solr.handler.dataimport.DocBuilder.execute(DocBuilder.java:239)org.apache.solr.handler.DataImporter.doFullImport(DataImporter.java:411)org.apache.solr.handler.DataImporter.DataImporter.runCmd(DataImporter.java:483)在org.apache.solr.handler.dataimport.DataImporter$1.run(DataImporter.java:464)上,由以下原因引起:com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:通信链路故障

从服务器成功接收的最后一个数据包是130037毫秒前。成功发送到服务器的最后一个数据包是130038毫秒前。位于sun.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法)位于sun.reflect.NativeConstructorAccessorImpl.newInstance(未知源)位于com.mysql.jdbc.Util.handleNewInstance(Util.java:409)的com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1127)的com.mysql.jdbc.MysqlIO.nextRowFast(MysqlIO.java:2288)的sun.reflect.delegatingConstructor.accessorImpl.newInstance(未知源)的java.Constructor.newInstance(未知源)com.mysql.jdbc.MysqlIO.nextRow(MysqlIO.java:2044)com.mysql.jdbc.MysqlIO.readSingleRowSet(MysqlIO.java:3549)com.mysql.jdbc.MysqlIO.getResultSet(MysqlIO.java:489)com.mysql.jdbc.MysqlIO.readResultsForQueryOrUpdate(MysqlIO.java:3240)com.mysql.jdbc.MysqlIO.MysqlIO.readAllResults(MysqlIO.java:2411)jdbc.MysqlIO.MysqlIO(MysqlIO.java:2834)在com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2832)在com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2781)在com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:908)在com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:788)在org.apache.solr.handler.dataimport.JdbcDataSource$ResultSeterator.(JdbcDataSource.java:274)…12更多原因:java.io.EOFException:无法从服务器读取响应。预期读取6个字节,在连接意外丢失之前读取4个字节。在com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:3161)在com.mysql.jdbc.MysqlIO.nextRowFast(MysqlIO.java:2269)…23更多2014年5月23日8:32:18下午错误DataImporter完全导入失败:java.lang.RuntimeException:java.lang.RuntimeException:org.apache.solr.handler.dataimport.DataImportHandlerException:无法执行查询:选择播放器id,​名字,​姓,​价值1,​价值2,​价值3,​价值4,​价值5,​价值6,​ 价值7,​价值8,​价值9,​价值10,​ 价值11,​价值18,​价值19,​价值20,​ 国家识别号,​ playername_modtime,​playername中的playername标志,其中的'true'!='false'或playername.playername.modtime>'2014-05-23 10:38:56'处理文档#1最后检查:5/23/2014 8:36:34 PM`

将batchSize=“-1”添加到data-config.xml中,结果正常


您收到的错误消息肯定不止“索引失败”。请编辑您的问题,以显示完整准确的错误消息,从日志中剪切粘贴,而不是转述。您好,安迪,谢谢您的回复。我在日志中收到的错误是“无法执行查询”。但是我不明白为什么查询在记录数较少的情况下运行良好,但在运行记录数较多的情况下失败。此异常是通信异常,并且是由于链接故障。您的mysql是在不同的机器上还是在同一台机器上?您好,谢谢您的回复,所有内容都在同一台机器上。在本地主机上运行。但是如果链接失败为什么链接只在大量数据时失败,但在较少数据时运行良好。请提供帮助,已经5天了,我无法计算出我的时间!谢谢!;)