我是solr的新手。我创建了两个不相关的独立实体。
在db-data-config.xml
中<entity name="vtab" query="select pid as id, pname as name from ptab order by name asc">
<field column="panchayat_id" name="panchayat_id" />
<field column="name" name="name" />
</entity>
<entity name="ptab" query="select vid as id, vname as name from vtab order by name asc">
<field column="id" name="vid" />
<field column="name" name="name" />
</entity>
在scheme.xml中
<fields>
<field name="id" type="string" indexed="true" stored="true"/>
<field name="name" type="text" indexed="true" stored="true" />
</fields>
<uniqueKey>id</uniqueKey>
<defaultSearchField>name</defaultSearchField>
使用此配置成功创建索引。我想按名字搜索。如果我在查询中提供名称,我想从任何找到记录的表中获取它。使用上面的配置,我只从vtab获取记录。在ptab中没有搜索任何记录。请指导我哪里出错了。
答案 0 :(得分:0)
问题解决了。我已经将“id”声明为主键,这是重复的。我与id-table_name一起创建了另一个字段并将其设置为主键。它现在正常工作。谢谢Jayendra Patil先生。
答案 1 :(得分:0)
您已将vtab实体命名为ptab,反之亦然 您是否可以添加到名为vtab的实体并检查它们是否已正确编入索引 这些ID是独一无二的吗?如果id是重复的,它们将相互覆盖。 理想情况下,它应该跨两个搜索