2

我是 Solr 搜索的新手,谁能帮我添加多个字段或条件我在 solr 中获得了解决方案,但我无法在日光浴室中实现这一点。我有字段

1. name
2. username
3. email

我想在 Solarium 过滤器查询中转换它,就像我为此使用单个字段一样

$query->createFilterQuery('name')->setQuery('name:*' . $keyword . '*');

我想要它的结果

fq=(name:*abc* OR username:*abc* OR email:*email*)

如果三个字段中的任何一个匹配,请帮助我使用 OR 运算符添加多个字段进行匹配,然后返回结果。

4

1 回答 1

0

Disjunction Max aka DisMax 可能会为您指明正确的方向。SitePoint 在这里整理了一个简单的教程:https ://www.sitepoint.com/using-solarium-solr-search-implementation/

带有问题中命名参数的示例:

$dismax = $query->getDisMax ();
$dismax->setQueryFields ('name username email');
于 2016-08-28T01:57:23.390 回答