如何为edismax搜索处理程序指定架构中的所有字段

时间:2012-05-29 05:02:38

标签: java solr

我在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参数中明确枚举它们?

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

2 个答案:

答案 0 :(得分:0)

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

但是,在这种方法中,您不能改变不同领域的重量和提升。 您可以创建多个副本字段并相应地改变增强。

答案 1 :(得分:0)

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

qf=myfield_s,myfield1_s

通配符不起作用。