我们尝试删除Drupal 7中特定节点的搜索结果。我们无法进行更改。是否可以删除特定节点的Apache solr搜索结果?任何人都可以帮助我们吗?
答案 0 :(得分:0)
在SOLR的搜索结果视图中(负责显示搜索结果),您可以添加具有特定节点的NID的过滤条件,然后否定条件。现在,搜索结果将包括除了提供NID的特定节点之外的所有节点。
考虑到您网站上有大量内容,这是最快的解决方案。
答案 1 :(得分:0)
您可以通过在hook_apachesolr_query_alter()中向查询添加过滤器来执行此操作:
/**
* Implementation of hook_apachesolr_query_alter().
*
* @param DrupalSolrQueryInterface $query
* @see apachesolr.interface.inc
*/
function yourmodule_apachesolr_query_alter(DrupalSolrQueryInterface $query) {
$nid = 1234;
$exclude = TRUE;
$filter = apachesolr_site_hash() . '/node/' . $nid;
$query->addFilter('id', $filter, $exclude);
}