(我已经在下面的XML中显示了它)大家好我想用solr索引我的MySQL数据库表.我已经安装了必要的java组件/适配器等.我的数据库名为’test_db’,其中的表名为’table_tb’.该表包含2列(字段)-Field 1称为“ID”,是一个自...
(我已经在下面的XML中显示了它)
大家好我想用solr索引我的MySQL数据库表.我已经安装了必要的java组件/适配器等.我的数据库名为’test_db’,其中的表名为’table_tb’.该表包含2列(字段)
-Field 1称为“ID”,是一个自动增量的主键整数
-Field 2被称为’COLA’并且是文本
该表有两行(记录)ID = 1和ID = 2,其中一些文本对应于第二列.我已经设置了以下conf文件(它们位于正确的目录中):
数据-config.xml中
<dataConfig>
<dataSource type="JdbcDataSource"
driver="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost/test_db"
user="username"
password="db_pwd"/>
<document name="doc">
<entity name="test_tb" query="select ID from test_tb">
<field column="ID" name="ID" />
? <field column="COLA" name="COLA" />
</entity>
</document>
</dataConfig>
solrconfig.xml中
<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
<lst name="defaults">
<str name="config">data-config.xml</str>
</lst>
</requestHandler>
schema.xml中
<fields>
<field name="ID" type="int" indexed="true" stored="true" required="true"/>
<field name="COLA" type="string" indexed="true" stored="true" required="true"/>
?</fields>
<uniqueKey>ID</uniqueKey>
“[URL]:8983 / solr / dataimport?command = full-import”在我的浏览器中,我得到以下输出:
(1)浏览器输出(xml)
<response>
?
<lst name="responseHeader">
<int name="status">0</int>
<int name="QTime">1</int>
</lst>
?
<lst name="initArgs">
?
<lst name="defaults">
<str name="config">data-config.xml</str>
</lst>
</lst>
<str name="command">full-import</str>
<str name="status">idle</str>
<str name="importResponse"/>
?
<lst name="statusMessages">
<str name="Total Requests made to DataSource">1</str>
<str name="Total Rows Fetched">2</str>
<str name="Total Documents Skipped">0</str>
<str name="Full Dump Started">2010-08-03 16:15:51</str>
?
<str name="">
Indexing completed. Added/Updated: 0 documents. Deleted 0 documents.
</str>
<str name="Committed">2010-08-03 16:15:51</str>
<str name="Optimized">2010-08-03 16:15:51</str>
<str name="Total Documents Processed">0</str>
<str name="Total Documents Failed">2</str>
<str name="Time taken ">0:0:0.32</str>
</lst>
?
<str name="WARNING">
This response format is experimental. It is likely to change in the future.
</str>
</response>
建议读取2条记录但未编入索引
服务器端输出
WARNING: Error creating document : SolrInputDocument[{ID=ID(1.0)={1}}]
org.apache.solr.common.SolrException: Document [null] missing required field: id
WARNING: Error creating document : SolrInputDocument[{ID=ID(1.0)={2}}]
org.apache.solr.common.SolrException: Document [null] missing required field: id
有谁知道我做错了什么?
在此先感谢任何帮助!
解决方法:
字段“id”出现在文档的其他位置.我评论了这一点并且有效.
本文标题为:java – 使用solr索引和搜索MySQL
基础教程推荐
- 一文带你快速学会JDBC及获取连接的五种方式 2023-06-01
- Maven分步详解多环境配置与应用流程 2023-04-18
- Java实例讲解动态代理 2022-11-29
- Java基础知识之ByteArrayOutputStream流的使用 2023-08-10
- Java中的null用法介绍 2023-10-08
- Java数据结构之双向链表图解 2022-11-12
- Spring的@Value如何从Nacos配置中心获取值并自动刷新 2023-02-27
- SpringBoot详细讲解多个配置文件的配置流程 2022-12-11
- springboot多环境进行动态配置的方法 2022-12-11
- java – 与JPA无关的数据库字符串比较 2023-11-03