我有一个MySQL数据库,并命名为数据表根据拆分规则,这意味着该名称具有相同的前缀,如:the_table_,并具有后缀的数字,所以表名称将是the_table_1,the_table_2,the_table_3 。当我们要选择一排,我们必须找到从SQL SELECT MOD(primary_key_id,64)+1,分片规则表后缀,而64是一个基数,这意味着我们有64个表。Can Solr可以处理表table1,table2,... tableN中的表的数据导入吗?
现在,我们希望在表格中使用Solr的索引数据,但数据的Solr-config.xml中无法支持动态名称的SQL查询,那么,有没有任何建议,以解决这个问题?
像这样的事情?
<entity name="audit"
query="select id,monitor_type,city,STATUS,is_history,timeout,author,author_uid,author_ip,operator_uid,operator,created_at,description from `main_table`">
<field column="ID" name="id" />
<field column="MONITOR_TYPE" name="monitor_type" />
<field column="CITY" name="city" />
<field column="STATUS" name="status" />
<field column="IS_HISTORY" name="is_history" />
<field column="AUTHOR" name="author" />
<field column="AUTHOR_UID" name="author_uid" />
<field column="AUTHOR_IP" name="author_ip" />
<field column="OPERATOR_UID" name="operator_uid" />
<field column="OPERATOR" name="operator" />
<entity name="distribution" query="select mod(${audit.ID}, 256)+1 as table_id">
<entity name="details" query="select content from detail${distribution.table_id} where id=${audit.ID}">
<field column="CONTENT" name="content" />
</entity>
</entity>
</entity>
您是否考虑过使用MySQL视图为Solr准备数据? – 2012-07-24 10:33:08
您是否尝试过使用占位符?就像$ {dataimporter.tablename}一样,并在调用dataimport url时传递tablename参数。 – javanna 2012-07-24 10:54:47