在 apache solr 中索引多个实体
Indexing multiple entities in apache solr
我正在尝试将两个表(实体)从 mysql 索引到 apache solr。
这是我的数据-config.xml
<document name="analysis">
<entity name="analysis" query="SELECT * FROM analysis">
<field column="id" name="id" />
<field column="doc_type" template="analysis" />
<field column="nid" name="analysis_nid" template="analysis_${analysis.nid}" />
<field column="sid" name="analysis_sid" template="analysis_${analysis.sid}" />
<field column="headline" name="headline" />
</entity>
<entity name="analysis_source" transformer="TemplateTransformer" query="select * from analysis_source limit 5">
<field column="doc_id" template="analysis_source_${analysis_source.id}" name="doc_id"/>
<field column="doc_type" template="analysis_source" name="doc_type" />
<field column="nid" name="analysis_source_nid" template="analysis_source_${analysis_source.nid}" />
<field column="sid" name="analysis_source_sid" template="analysis_source_${analysis_source.sid}" />
<field column="tax_payer_name" name="tax_payer_name"/>
</entity>
</document>
这是我的托管架构文件
<field name="id" type="int" indexed="true" stored="true" />
<field name="doc_type" type="string" indexed="true" stored="true" />
<field name="analysis_source_nid" type="int" indexed="true" stored="true" />
<field name="analysis_source_sid" type="int" indexed="true" stored="true"/>
<field name="tax_payer_name" type="string" indexed="true" stored="true"/>
<field name="analysis_nid" type="int" indexed="true" stored="true" />
<field name="analysis_sid" type="int" indexed="true" stored="true"/>
<field name="headline" type="string" indexed="true" stored="true"/>
<uniqueKey>doc_id</uniqueKey>
问题是每当我尝试从 solr admin UI 导入数据时,它只会导入 analysis_source
实体。我尝试了不同的调整但没有奏效。
我关注了 link 以将多个实体编入索引
How to index and search two different tables
我检查了日志文件,发现有错误 "reading from database error"。
我将查询从 "select * from analysis" 更改为 "select col1,col2 from analyis"
我想 apache solr 和 mysql 中列结构(数据类型)的兼容性存在问题。
因此需要牢记列数据类型。
我正在尝试将两个表(实体)从 mysql 索引到 apache solr。
这是我的数据-config.xml
<document name="analysis">
<entity name="analysis" query="SELECT * FROM analysis">
<field column="id" name="id" />
<field column="doc_type" template="analysis" />
<field column="nid" name="analysis_nid" template="analysis_${analysis.nid}" />
<field column="sid" name="analysis_sid" template="analysis_${analysis.sid}" />
<field column="headline" name="headline" />
</entity>
<entity name="analysis_source" transformer="TemplateTransformer" query="select * from analysis_source limit 5">
<field column="doc_id" template="analysis_source_${analysis_source.id}" name="doc_id"/>
<field column="doc_type" template="analysis_source" name="doc_type" />
<field column="nid" name="analysis_source_nid" template="analysis_source_${analysis_source.nid}" />
<field column="sid" name="analysis_source_sid" template="analysis_source_${analysis_source.sid}" />
<field column="tax_payer_name" name="tax_payer_name"/>
</entity>
</document>
这是我的托管架构文件
<field name="id" type="int" indexed="true" stored="true" />
<field name="doc_type" type="string" indexed="true" stored="true" />
<field name="analysis_source_nid" type="int" indexed="true" stored="true" />
<field name="analysis_source_sid" type="int" indexed="true" stored="true"/>
<field name="tax_payer_name" type="string" indexed="true" stored="true"/>
<field name="analysis_nid" type="int" indexed="true" stored="true" />
<field name="analysis_sid" type="int" indexed="true" stored="true"/>
<field name="headline" type="string" indexed="true" stored="true"/>
<uniqueKey>doc_id</uniqueKey>
问题是每当我尝试从 solr admin UI 导入数据时,它只会导入 analysis_source
实体。我尝试了不同的调整但没有奏效。
我关注了 link 以将多个实体编入索引
How to index and search two different tables
我检查了日志文件,发现有错误 "reading from database error"。 我将查询从 "select * from analysis" 更改为 "select col1,col2 from analyis"
我想 apache solr 和 mysql 中列结构(数据类型)的兼容性存在问题。
因此需要牢记列数据类型。