我只希望某些節點被索引。 「搜索配置」模塊聲稱具有此功能,但它不起作用。那麼,我該如何編輯節點模塊來僅索引某些節點,或者更好地實現一個可以爲我做到這一點的模塊?如何限制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