我只希望某些節點被索引。 「搜索配置」模塊聲稱具有此功能,但它不起作用。那麼,我該如何編輯節點模塊來僅索引某些節點,或者更好地實現一個可以爲我做到這一點的模塊?如何限制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. 搜索Drupal內容類型中的2個字段
- 8. 內容複製和搜索引擎
- 9. 搜索多種內容類型
- 10. 索引/搜索PDF內容使用Solr
- 11. 天青搜索索引html內容
- 12. Drupal結合用戶+內容搜索
- 13. 如何限制搜索和
- 14. str_replace()有搜索限制嗎?
- 15. PHP-Elasticsearch搜索所有索引
- 16. 如何索引CMS內容以進行搜索
- 17. Google中的內容重複。搜索引擎優化Drupal
- 18. joomla有搜索內容嗎?
- 19. Drupal 7索引pdf文件搜索
- 20. Drupal的:如何創建一個顯示所有內容類型
- 21. 如何獲取Drupal 6中所有內容類型的列表?
- 22. 如何檢索NSDictionary的所有內容?
- 23. 如何搜索內部類?
- 24. 將自定義模塊創建的內容添加到drupal搜索索引
- 25. 如何(遞歸)搜索Windows 7中的所有文件內容?
- 26. 限制搜索(python)
- 27. 如何在kademi中按索引類型過濾搜索結果?
- 28. Drupal 8搜索API - 如何獲取內容的網址
- 29. 如何添加搜索框到drupal頁面內容(404頁)
- 30. 搜索索引複製
定義「不起作用」。您是否聯繫了搜索配置維護人員以獲得支持? – ceejayoz 2009-11-01 14:55:50
By不起作用,我的意思是它阻止它們出現在搜索結果中,但它不會停止這些節點的索引。這是我需要的。 – coderama 2009-11-01 17:20:07