solr数据导入搜索

时间:2011-11-02 10:28:23

标签: solr data-import

我是solr的新手。我想搜索数据库。我可以导入值并将其编入索引。但是在搜索时,似乎需要在搜索查询中提及字段名称。可以在不指定字段名称的情况下完成。

1 个答案:

答案 0 :(得分:0)

您可以将所有数据导入 default field 。那么您不需要明确提及字段名称。 (虽然你仍然可以,如果你想)

Solr的默认schema.xml已包含使用此类“catchall”字段的示例:

首先,必须像任何其他字段一样声明该字段:

<field name="text" type="text_general" indexed="true"
       stored="false" multiValued="true"/>

然后必须将此新字段声明为默认字段。每当搜索不到特定字段时,将搜索此字段:

<defaultSearchField>text</defaultSearchField>

您还需要一些copyField语句,将所有现有字段复制到catchall字段中:

<copyField source="cat" dest="text"/>
<copyField source="name" dest="text"/>
<copyField source="my_special_field_1" dest="text"/>
<copyField source="my_special_field_2" dest="text"/>
...

因此,只要字段my_special_field_1被编入索引,其值也会添加到text字段。

作为一种快捷方式,您可以使用

将所有字段复制到text字段中
<copyField source="*" dest="text"/>

之后,您可以在不指定任何字段的情况下执行搜索。