我正在尝试从数据库中索引数据。我正在成功地做到这一点。但我有一个问题。我想为整个数据库使用一个索引。所有的 db 表至少有 3 个同名的列(我想要这样)。例如,我有这些表:members、new_members、books、journals 和 cds。所有这些都有名为:id、model、biog 的列。因此,在所有 db 表中,id(自动递增)从 1 开始。当我使用过滤器(fq=model:journal)查询 Solr 时,它什么也不返回。查询书籍会返回一部分数据(我有 5 行,它返回 2。我正在使用:来检索所有行)。我知道数据在 Solr 的“数据”文件中。我认为存在某种冲突。我怎样才能在没有任何冲突的情况下对所有这些表建立一个索引?
数据配置.xml:
<?xml version="1.0" encoding="utf-8"?>
<dataConfig>
<dataSource type="JdbcDataSource"
driver="com.mysql.jdbc.Driver"
url="jdbc:mysql://127.0.0.1:3306/rental"
user="root"
password="1a2b3c4d"/>
<document>
<entity name="members" pk="id" transformer="HTMLStripTransformer" query="select id, firstname, lastname, biog, model from members">
<field column="id" name="id" />
<field column="firstname" name="firstname" stripHTML="true" />
<field column="lastname" name="lastname" stripHTML="true" />
<field column="biog" name="biog" stripHTML="true" />
<field column="model" name="model" stripHTML="true" />
</entity>
<entity name="new_members" pk="id" transformer="HTMLStripTransformer" query="select id, firstname, lastname, biog, model from new_members">
<field column="id" name="id" />
<field column="firstname" name="firstname" stripHTML="true" />
<field column="lastname" name="lastname" stripHTML="true" />
<field column="biog" name="biog" stripHTML="true" />
<field column="model" name="model" stripHTML="true" />
</entity>
<entity name="books" pk="id" transformer="HTMLStripTransformer" query="select id, title, description, model from books">
<field column="id" name="id" />
<field column="title" name="title" stripHTML="true" />
<field column="description" name="biog" stripHTML="true" />
<field column="model" name="model" stripHTML="true" />
</entity>
<entity name="journals" pk="id" transformer="HTMLStripTransformer" query="select id, title, description, model from journals">
<field column="id" name="id" />
<field column="title" name="title" stripHTML="true" />
<field column="description" name="biog" stripHTML="true" />
<field column="model" name="model" stripHTML="true" />
</entity>
<entity name="cds" pk="id" transformer="HTMLStripTransformer" query="select id, title, description, model from cd">
<field column="id" name="id" />
<field column="title" name="title" stripHTML="true" />
<field column="description" name="biog" stripHTML="true" />
<field column="model" name="model" stripHTML="true" />
</entity>
</document>
</dataConfig>
schema.xml(字段):
<fields>
<field name="id" type="string" indexed="true" stored="true" />
<field name="model" type="text_en" indexed="true" stored="true" />
<field name="firstname" type="text_en" indexed="true" stored="true"/>
<field name="lastname" type="text_en" indexed="true" stored="true"/>
<field name="title" type="text_en" indexed="true" stored="true"/>
<field name="biog" type="text_en" indexed="true" stored="true"/>
</fields>
<uniqueKey>id</uniqueKey>
<defaultSearchField> biog </defaultSearchField>