solr 数据导入搜索

发布于 2024-12-13 01:30:01 字数 84 浏览 0 评论 0原文

我是 solr 的新手。我想搜索数据库。我可以导入值并为其建立索引。但是在搜索时,似乎有必要在搜索查询中提及字段名称。如果不指定字段名称,如何完成此操作。

I am new to solr. I want to search database. I am able to import the values and index it.but while searching it seems the field name is necessary to mention in the search query.how can it be done without specifying the field names.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

落墨 2024-12-20 01:30:01

您可以将所有数据导入默认字段。那么您不需要明确提及字段名称。 (尽管如果您愿意,您仍然可以)

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

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

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

然后是新字段必须声明为默认字段。每当没有搜索特定字段时,都会搜索此字段:

<defaultSearchField>text</defaultSearchField>

您还需要一些 copyField 语句,将所有现有字段复制到包罗万象的字段中:

<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 字段中。

作为快捷方式,您可以使用 After 将所有字段复制到 text 字段中

<copyField source="*" dest="text"/>

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

You can import all data into the default field. Then you don't need to explicitly mention the field names. (Although you still can if you want)

The default schema.xml with Solr already contains an example for using such a "catchall" field:

First the field has to be declared like any other field:

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

Then this new field has to be declared the default field. Whenever no specific field is searched, this one will be searched:

<defaultSearchField>text</defaultSearchField>

You also need some copyField statements which copy all existing fields into the catchall field:

<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"/>
...

So whenever the field my_special_field_1 is indexed its value is also added to the text field.

As a shortcut you can copy all fields into the text field with

<copyField source="*" dest="text"/>

After that you can perform searches without specifying any field.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文