solr索引多个实体

时间:2013-06-12 05:38:09

标签: solr solrj

我在我的Java Web Project中使用Solr进行索引。我已经阅读了Solr的教程并得到了一些基本的知识。有一个XML文件schema.xml,其中要编制索引的字段在字段标记中给出。我的问题是:

  1. 我在DB中存在XML文件中的字段,是否可以使用schema.xml文件来引用DB中存在的XML数据。
  2. 如果没有,那么我将把所有字段放在schema.xml中,所以如果是这种情况,那么如果有多个实体必须被索引,那么它们都应该放在同一个模式中。 xml还是我们可以为每个实体创建不同的XML文件吗?

1 个答案:

答案 0 :(得分:1)

检查以下方法: -

您可以使用DIH为实体编制索引

使用XPathEntityProcessor的组合来读取blob文件并在xml文件上应用xpath来生成字段。

这样的事情你可以进一步搜索和扩展.....

<entity name='test' query='select blob from table' dataSource='db'>
    <field column='blob' />
    <entity name='parse_xpath' dataSource='<FieldReaderDataSource>' processor='XPathEntityProcessor' forEach='/root' dataField='test.blob'>
        <field column='some_element' xpath='/some_element' />
    </entity>
</entity>

您必须在schema.xml中为在DIH配置和xml文件中指定的每个映射定义字段。
除非您使用dynamic fields,否则不会自动创建它们。

<dynamicField indexed="true" multiValued="true" name="*" stored="true" type="text_en"/>