我按照http://www.sunilgulabani.com/2013/01/import-mysql-database-with-apache-solr.html中的说明进行操作。我已将 data-config.xml 修改为: -
<dataConfig>
<dataSource driver="sun.jdbc.odbc.JdbcOdbcDriver" type="JdbcDataSource"
url="jdbc:odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=" + "C:\\users\\ppreeti\\executive_db.accdb" user="" password="" />
<document name="products">
<entity name="Report" query="select * from Report">
<field column="Report_Name" name="Report_Name" />
<field column="Report_ID" name="Report_ID" />
<field column="Section_ID" name="Section_ID" />
<field column="Contact_ID" name="Contact_ID" />
<field column="ZipFile_IND" name="ZipFile_IND" />
<field column="Last_Update" name="Last_Update" />
<field column="Link" name="Link" />
<field column="link_id" name="link_id" />
<!--<entity name="Contact" query="select Contact_Name from Contact where item_id='${item.ID}'">
<field name="features" column="description" />
</entity>
<entity name="item_category" query="select CATEGORY_ID from item_category where item_id='${item.ID}'">
<entity name="category" query="select description from category where id = '${item_category.CATEGORY_ID}'">
<field column="description" name="cat" />
</entity>
</entity>-->
</entity>
</document>
</dataConfig>
我也没有按照教程中提到的步骤4,因为我正在访问MS Access数据库,我发现它是内置的。
我还修改了 schema.xml ,然后通过在标记之前添加以下行来修改 schema.xml : -
<fields>
<field name="Report_Name" type="text" indexed="true" stored="true" required="true"/>
<field name="Report_ID" type="text" indexed="true" stored="true" required="true"/>
<field name="Section_ID" type="text" indexed="true" stored="true" required="true"/>
<field name="Contact_ID" type="text" indexed="true" stored="true" required="true"/>
<field name="ZipFile_IND" type="text" indexed="true" stored="true" required="true"/>
<field name="Last_Update" type="text" indexed="true" stored="true" required="true"/>
<field name="Link" type="text" indexed="true" stored="true" required="true"/>
<field name="link_id" type="text" indexed="true" stored="true" required="true"/>
<dynamicField name="*" type="ignored" />
</fields>
<uniqueKey>Report_ID</uniqueKey>
<!-- field for the QueryParser to use when an explicit fieldname is absent -->
<defaultSearchField>Report_Name</defaultSearchField>
所以,当我按照步骤5中的描述在浏览器上运行时,我得到的错误是: - collection1:org.apache.solr.common.SolrException:org.apache.solr.common.SolrException:字段Report_Name上指定的未知字段类型'text'
那么,我该如何解决错误?
答案 0 :(得分:0)
不再在默认的solrconfig.xml文件中定义了text
的fieldType。尝试更改schema.xml文件中的所有字段以使用type="text_general"
,因为这是当前solrconfig.xml文件中的合适替代。
我还建议您查看安装中的solrconfig.xml文件,并阅读Solr Wiki上的Analyzers, Tokenizers, and Token Filters页面,以便更好地了解fieldType定义的设置方式。