solr – Data-config.xml和mysql – 我只能加载“id”列
发布时间:2020-12-16 23:34:43 所属栏目:百科 来源:网络整理
导读:我在 Windows Server 2012上安装了Solr 5.0.0.我想将表中的所有数据加载到solr引擎中. 我的data-config.xml看起来像这样: ?xml version="1.0" encoding="UTF-8" ?!--# define data source --dataConfigdataSource type="JdbcDataSource" driver="com.mysql.
我在
Windows Server 2012上安装了Solr 5.0.0.我想将表中的所有数据加载到solr引擎中.
我的data-config.xml看起来像这样: <?xml version="1.0" encoding="UTF-8" ?> <!--# define data source --> <dataConfig> <dataSource type="JdbcDataSource" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/database" user="root" password="root"/> <document> <entity name="my_table" pk="id" query="SELECT ID,LASTNAME FROM my_table limit 2"> <field column="ID" name="id" type="string" indexed="true" stored="true" required="true" /> <field column="LASTNAME" name="lastname" type="string" indexed="true" stored="true"/> </entity> </document> </dataConfig> 当我选择dataimport时,我得到了一个答案: Indexing completed. Added/Updated: 2 documents. Deleted 0 documents Requests: 1,Fetched: 2,Skipped: 0,Processed: 2 和原始调试响应: { "responseHeader": { "status": 0,"QTime": 280 },"initArgs": [ "defaults",[ "config","data-config.xml" ] ],"command": "full-import","mode": "debug","documents": [ { "id": [ 1983 ],"_version_": [ 1497798459776827400 ] },{ "id": [ 1984 ],"_version_": [ 1497798459776827400 ] } ],"verbose-output": [ "entity:my_table",[ "document#1",[ "query","SELECT ID,LASTNAME FROM my_table limit 2","time-taken","0:0:0.8",null,"----------- row #1-------------","LASTNAME","Gates","ID",1983,"---------------------------------------------" ],"document#2",[ null,"Doe",1984,"document#3",[] ] ],"status": "idle","importResponse": "","statusMessages": { "Total Requests made to DataSource": "1","Total Rows Fetched": "2","Total Documents Skipped": "0","Full Dump Started": "2015-04-07 15:05:22","": "Indexing completed. Added/Updated: 2 documents. Deleted 0 documents.","Committed": "2015-04-07 15:05:22","Optimized": "2015-04-07 15:05:22","Total Documents Processed": "2","Time taken": "0:0:0.270" } } 最后当我要求索尔时 http://localhost:8983/solr/test/query?q=*:* 我有一个答案: { "responseHeader":{ "status":0,"QTime":0,"params":{ "q":"*:*"}},"response":{"numFound":2,"start":0,"docs":[ { "id":"1983","_version_":1497798459776827392},{ "id":"1984","_version_":1497798459776827393}] }} 我也希望看到lastname列.为什么我不能? 解决方法
日志中的警告实际上是真正的问题.
如果您查看solrconfig.xml文件,您将有一个部分: <schemaFactory class="ManagedIndexSchemaFactory"> <bool name="mutable">true</bool> <str name="managedSchemaResourceName">managed-schema</str> </schemaFactory> 这意味着您的schema.xml文件被忽略.而是将使用同一文件夹中的文件managed-schema. 有几种方法可以解决这个问题.您可以注释掉托管架构部分并将其替换为 <schemaFactory class="ClassicIndexSchemaFactory"/> 或者另一种方法是删除托管模式文件.然后,SOLR将在重新启动时读取schema.xml文件并生成新的托管架构.如果可行,那么您应该在文件底部看到您的字段. 有关更多信息,请参阅: https://cwiki.apache.org/confluence/display/solr/Managed+Schema+Definition+in+SolrConfig (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |