0

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

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

1 回答 1

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 文件中指定的每个映射定义字段。除非您使用动态字段
,否则它不会自动创建它们。

<dynamicField indexed="true" multiValued="true" name="*" stored="true" type="text_en"/>
于 2013-06-12T07:06:28.250 回答