【发布时间】:2020-07-29 04:07:13
【问题描述】:
我刚刚构建了一个由 solr 支持的搜索表单,我们正在使用日光浴室库来构建我们的请求。
我们构建了一个“巨大”的过滤查询集合:
$query = $client->createQuery($client::QUERY_SELECT);
$query->setStart(0)->setRows(1000);
$query->addFilterQuery($query->createFilterQuery("foo")->setQuery("bar:true"));
$query->addFilterQuery($query->createFilterQuery("fo")->setQuery("ba:false"));
....
但我们意识到搜索只会命中我们在过滤查询中指定的所有单个字段,但我们必须实际查询多个字段。在阅读文档时,我意识到我们可能错了,对吧?正确的方法是使用 disMax 查询(结合方面?)?我想知道,我们可以结合使用 DisMax 和 filterqueries 来将我们的搜索“扩展”到多个字段(带有提升)吗?还是我们必须真正返工?
我有点错过大局来决定最佳/可行的解决方案是什么
非常感谢您的帮助
编辑:
索尔:
solr-spec 7.6.0
日光浴室:
solarium/solarium 6.0.1 PHP Solr client
【问题讨论】: