我只希望某些节点被索引。 “搜索配置”模块声称具有此功能,但它不起作用。那么,我该如何编辑节点模块来仅索引某些节点,或者更好地实现一个可以为我做到这一点的模块?如何限制drupal搜索索引所有内容类型?
回答
这是a long standing feature request,但看起来它已经被推到至少Drupal的8:/
你可以在上面链接的功能要求讨论一些方法建议,但所使用的“标准”的做法搜索配置模块是described here。它不会阻止节点被索引,但会操纵搜索查询以忽略某些条目(例如节点类型),以便它们不会显示在搜索结果页面上。
由于目前没有明显的更好的解决方案(afaik),我同意ceejayoz的评论,您应该首先检查为什么搜索配置模块不适合您,然后开始自定义编码您自己的解决方案。
如果你不得不求助于编辑节点模块本身,node_update_index()
将是开始的地方。
下面是确定需要进行索引,从node_update_index()什么查询:
SELECT n.nid FROM {node} n
LEFT JOIN {search_dataset} d ON d.type = 'node' AND d.sid = n.nid
WHERE d.sid IS NULL OR d.reindex <> 0
ORDER BY d.reindex ASC, n.nid ASC
你不能阻止索引脚本运行。 但是,您可以通过向{search_dataset}中插入虚拟条目来欺骗该查询,从而将思考内容编入索引。
例如,如果你使用MySQL,做这个的cron:
INSERT INTO {search_dataset}
(sid, type, data, reindex)
SELECT nid, 'node', '', 0 FROM {node} WHERE node.type IN (RESTRICTED_TYPES)
ON DUPLICATE KEY UPDATE reindex = 0, data = ''
替换“RESTRICTED_TYPES”与您的节点类型的列表,你想从限制每个实体做类似查询搜索。
您可能还想清理您的search_index表,它可能变得非常庞大,如下所示:“从search_index中删除,其中sid为 (SELECT nid FROM节点WHERE node.type IN(RESTRICTED_TYPES)” – aaronbauman 2013-02-18 22:05:10
还有一件事,您可以如果你有一个非常大的数据库,需要手动清理你的search_total表:“DELETE FROM search_total WHERE word NOT IN(SELECT DISTINCT word FROM search_index)”否则search.module内存不足会尝试加载所有缺少的项目单个查询。 – aaronbauman 2013-02-19 15:12:49
- 1. 的Drupal 6:搜索索引和自定义内容类型
- 2. Drupal搜索不索引所有节点?
- 3. Drupal,搜索模块:仅限于1种内容类型
- 4. 如何重新索引某种类型的所有内容?
- 5. TYPO3索引搜索引擎 - 并非所有的页面内容被索引
- 6. Drupal 7内容类型限制
- 7. 如何将Orchard搜索限制为博客文章(或任何内容类型)?
- 8. 如何限制搜索索引只有标题?
- 9. Drupal:为移动应用搜索自定义内容类型
- 10. 搜索Drupal内容类型中的2个字段
- 11. 内容复制和搜索引擎
- 12. 搜索引擎索引和类型
- 13. 内容搜索引擎
- 14. Cloudant搜索索引查询限制
- 15. 搜索多种内容类型
- 16. 天青搜索索引html内容
- 17. pdf内容的索引和搜索
- 18. 索引/搜索PDF内容使用Solr
- 19. Sitecore 7在所有内容中搜索
- 20. drupal搜索特定内容类型及其节点类型以获得评论
- 21. 使用NEST在elasticsearch中搜索所有类型和所有索引
- 22. Drupal结合用户+内容搜索
- 23. 如何限制搜索和
- 24. 如何查询并列出elasticsearch索引内的所有类型?
- 25. Umbraco检查:如何搜索内嵌内容数据类型?
- 26. SOLR如何限制solr查询中的搜索内容
- 27. str_replace()有搜索限制吗?
- 28. 如何在两个类似索引内容上索引mysql表?
- 29. 为Windows索引搜索设置限制/ maxRecords属性通过PHP搜索搜索
- 30. PHP-Elasticsearch搜索所有索引
定义“不起作用”。您是否联系了搜索配置维护人员以获得支持? – ceejayoz 2009-11-01 14:55:50
By不起作用,我的意思是它阻止它们出现在搜索结果中,但它不会停止这些节点的索引。这是我需要的。 – coderama 2009-11-01 17:20:07