0

我在 Solr 中有一个具有此基本定义的搜索处理程序(为简洁起见,省略了一些细节):

<requestHandler name="/select" class="solr.SearchHandler">
    <lst name="defaults">
        <str name="defType">edismax</str>
        <str name="q.alt">*:*</str>
        <str name="qf">??</str>
        ...

我知道我可以在qf字符串中编写字段列表,但我想搜索架构中的所有字段,包括动态字段。我试过这个:

<str name="qf">*</str>

但它没有用。搜索结果返回为空。有什么方法可以搜索架构中的所有字段而不在qf参数中显式枚举它们?

更新:我应该提到我不想使用复制字段,因为我想向用户显示与搜索匹配的字段,并显示搜索亮点。

4

2 回答 2

0

据我所知,动态字段只能通过全名查询

qf=myfield_s,myfield1_s

通配符将不起作用。

于 2012-05-29T11:37:56.033 回答
0

使用复制字段将您要搜索的所有字段复制到单个字段中。
这也应该适用于所有静态和动态字段。
您可以在 qf 参数中指定该单个字段。

但是,您不能在这种方法中改变不同字段的权重和提升。您可以创建多个复制字段并相应地改变提升。

于 2012-05-29T06:07:12.347 回答