0

我正在尝试配置 copyField,但文档对语法示例非常简单。

这是我尝试做的,但是在重新导入我的所有数据后,“all”字段没有文档:

   <field name="all" type="text_en_splitting" indexed="true" stored="false" multiValued="true" termVectors="true" version="1.5" />
   <copyField source="id" dest="all"/>
   <copyField source="item_name" dest="all"/>
   <copyField source="item_brand" dest="all"/>
   <copyField source="short_description" dest="all"/>
   <copyField source="long_description" dest="all"/>
   <copyField source="catalog_names" dest="all"/>
   <copyField source="categories" dest="all"/>
   <copyField source="keywords" dest="all"/>
   <copyField source="attributes" dest="all"/>

我真正需要的是:

我有定义了所有这些字段的文档(id、item_name、短/长描述等)。

我想搜索大多数字段,但不存储值(我只返回文档 ID)。

所以:

  • 我是否需要为每个属性(item_name、短/长描述等)定义一个字段?
  • 我是否应该将它们全部复制到一个字段中,以便可以搜索所有这些字段?这是必要的吧?
  • 有没有一种方法可以将所有这些字段导入到一个 solr 字段中?我的 schema.xml 看起来应该如何?

目前,我没有任何针对某个特定字段的搜索。

4

2 回答 2

1

我是否需要为这些属性中的每一个定义一个字段
如果要检索它们的值,您需要以任何方式定义所有字段。

我是否应该将它们全部复制到一个字段中,以便可以搜索所有这些字段?这是必要的吧? 您需要将它们复制到单个字段并搜索该字段。

有没有一种方法可以将所有这些字段导入到一个 solr 字段中?我的 schema.xml 看起来应该如何?
您可以定义动态字段并使用单个复制字段将它们复制到单个字段

于 2013-03-06T09:40:37.930 回答
0

看来我在 copyField 中最大的问题是我需要删除并重新加载索引才能启用它。添加一个替换现有文档的文档就足够了。

于 2013-03-06T09:35:28.790 回答