在 Drupal 中按字段搜索自定义节点?

Posted

技术标签:

【中文标题】在 Drupal 中按字段搜索自定义节点?【英文标题】:Searching custom nodes' by field in Drupal? 【发布时间】:2010-05-08 20:56:53 【问题描述】:

在我使用 CCK 制作自定义节点类型的项目中使用 Drupal。我希望能够根据节点具有的自定义字段搜索特定节点。所以假设我有这个节点类型文章,它有一个字段“myfield”,我希望能够根据 myfield 字段搜索文章。我了解默认搜索模块允许在搜索中使用 type:MyNodeType 搜索节点类型,但我没有看到任何限制搜索哪些字段的方法。有小费吗?这是要发疯的事情吗?感谢您的帮助。

【问题讨论】:

【参考方案1】:

默认搜索无法按特定字段过滤。

你有几个选择。

编写自定义代码,再次过滤数据库中的实际字段。 使用Views 模块,可以过滤特定字段。 安装ApacheSolr 搜索引擎,它可以过滤特定字段。 这是一个相当复杂的安装。 不过,如果您愿意安装它,它会比其他两个选项更好、更灵活的搜索。

【讨论】:

【参考方案2】:

签出CCK Facets 模块。有关此模块的更多详细信息(来自其项目页面):

CCK Facets 是一组与 Faceted Search 集成的模块,可将 Content Construction Kit (CCK) 字段作为构面公开。这允许用户浏览字段值并使用这些值过滤搜索结果。

支持的 CCK 字段类型有:

文字 号码 节点参考 用户参考 日期 日期戳

【讨论】:

【参考方案3】:

为此,我使用 Search API 和 Search API DB 模块以及 Views。

这是一个不错的how to article。

【讨论】:

以上是关于在 Drupal 中按字段搜索自定义节点?的主要内容,如果未能解决你的问题,请参考以下文章

Drupal 6 中的自定义搜索表单:视图/面板还是自定义 sql?

如何使用 drupal 6 中的自定义字段将自定义版本的节点/添加表单放在视图中?

Drupal 自定义 HTML 搜索表单

使用自定义字段“PHP 代码”查看 Drupal 图像附加路径

在 drupal 8 的另一个自定义内容类型字段中使用自定义内容类型作为字段

当自定义模板已应用于节点的内容类型时,如何在 Drupal 6 中自定义特定节点?