我是 solr 的新手。我想搜索数据库。我能够导入值并对其进行索引。但是在搜索时,似乎有必要在搜索查询中提及字段名称。如何在不指定字段名称的情况下完成它。
问问题
280 次
1 回答
0
您可以将所有数据导入默认字段。那么您不需要明确提及字段名称。(虽然如果你愿意,你仍然可以)
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"/>
之后,您可以在不指定任何字段的情况下执行搜索。
于 2011-11-02T10:44:54.960 回答