Drupal 7 Apache solr搜索模块

时间:2016-09-29 07:05:38

标签: solr drupal-7

我们尝试删除Drupal 7中特定节点的搜索结果。我们无法进行更改。是否可以删除特定节点的Apache solr搜索结果?任何人都可以帮助我们吗?

2 个答案:

答案 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);
}