0

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

获取问题和答案的更新

2 个回答 正确答案

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);
}
0

在SOLR的搜索结果视图(负责显示搜索结果)中,可以添加带有特定节点NID的过滤条件,然后否定条件。现在搜索结果将包括除提供了 NID 的特定节点之外的所有节点。

考虑到您的站点中有很多内容,这是最快的解决方案。

您的答案

来自   https://stackoverflow.com/questions/39763604/drupal-7-apache-solr-search-module