如何更改传递 2 个词查询的 Solr 行为? (在克隆下)

How do I change the Solr behavior for passing 2 word queries? (under plone)

我在我们的 Plone 4.2.6 系统上使用 Collective Solr 4.1.0 Search。到目前为止一切顺利,但有一个问题我还无法解决。 当用户在搜索字段中输入 'Michael Smith' 时,查询将传递给 Solr,如下例所示:

+((givenName:(Michael) (Smith)) OR (surname:(Michael) (Smith)))

这样,givenName 和 surname 字段都只搜索 Michael。我宁愿这样:

+((givenName:(Michael OR Smith)) OR (surname:(Michael OR Smith)))

由于我使用 {value} 或 {base_value} 获取用户条目,这会自动使其成为 (Michael) (Smith),我不知道如何告诉 Solr 放置一个 'OR' 之间或如何更改用户查询。

浏览另一个论坛,我刚刚找到了针对我的特定问题的解决方案:括号。 在后端,当我输入 +(surname:{base_value}) 时,它被替换为 +(surname:(Michael) (Smith))。然后将 Smith 用于默认字段。

此处的简单解决方案是将 {base_value} 放在括号中。 +surname:({base_value}) 然后变成 +surname:((Michael) (Smith)) 并像中间有一个 'OR' 一样自动处理。