Я хочу проиндексировать мою таблицу базы данных MySQL с помощью solr.
Я вижу результат, полученный для запроса на моей http://localhost:8983/solr/admin/dataimport.jsp?handler=/dataimport
странице, но я получаю эти ошибки на стороне сервера для каждой выбранной строки:
WARNING: Error creating document : SolrInputDocument[{eno=eno(1.0)={3}, ename=ename(1.0)={pravin}, sal=sal(1.0)={300}}]
org.apache.solr.common.SolrException: Document [null] missing required field: id
Это мой dataconfig.xml:
<dataConfig>
<dataSource name="pravindb" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/pravindb" user="root" password="root" batchSize="-1" />
<document>
<entity name="ename" dataSource="pravindb" pk="eno" query="select* from emp">
<field column="eno" name="eno"/>
<field column="ename" name="ename"/> <field column="sal" name="sal"/>
</entity>
</document>
</dataConfig>
Это код, который я добавил в schema.xml:
<fields>
<field name="eno" type="int" indexed="true" stored="true" required="true" />
<field name="ename" type="text" indexed="true" stored="true" multiValued="true"/>
<field name="sal" type="int" indexed="true" stored="true" multiValued="true"/>
</fields>
<uniqueKey>eno</uniqueKey>
<defaultSearchField>ename</defaultSearchField>
Это мой обработчик запросов в solrconfig.xml:
<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
<lst name="defaults">
<str name="config">d:\clg/Project/Workspace/TestSolr/solr/conf/my-data-config.xml</str>
</lst>
</requestHandler>