Tôi chỉ muốn một số nút nhất định được lập chỉ mục. Mô-đun "cấu hình tìm kiếm" tuyên bố có khả năng này, nhưng nó không hoạt động. Vì vậy, làm cách nào để chỉnh sửa mô-đun nút để chỉ lập chỉ mục các nút nhất định hoặc tốt hơn, hãy mô phỏng một mô-đun có thể làm điều này cho tôi?Làm cách nào để hạn chế tìm kiếm drupal khỏi lập chỉ mục tất cả các loại nội dung?
Trả lời
Đây là a long standing feature request, nhưng có vẻ như nó đã được đẩy lên ít nhất Drupal 8:/
Bạn có thể tìm thấy một số gợi ý cách giải quyết trong các cuộc thảo luận tính năng yêu cầu liên kết ở trên, nhưng cách tiếp cận 'tiêu chuẩn' được sử dụng bởi mô-đun cấu hình tìm kiếm là described here. Nó không ngăn các nút được lập chỉ mục, nhưng thao tác các truy vấn tìm kiếm để bỏ qua các mục nhất định (ví dụ: các loại nút) để chúng không hiển thị trên các trang kết quả tìm kiếm.
Vì không có giải pháp rõ ràng hơn vào lúc này (afaik), tôi đồng ý với nhận xét của ceejayoz rằng trước tiên bạn nên kiểm tra lý do mô-đun cấu hình tìm kiếm không hoạt động cho bạn trước khi bắt đầu tùy chỉnh giải pháp của riêng bạn.
Nếu bạn phải sử dụng để chỉnh sửa mô đun nút, node_update_index()
sẽ là nơi bắt đầu.
Dưới đây là các truy vấn xác định những gì cần phải được lập chỉ mục, từ 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
Bạn không thể ngăn chặn kịch bản lập chỉ mục từ chạy. Nhưng bạn có thể đánh lừa truy vấn đó vào nội dung suy nghĩ đã được lập chỉ mục bằng cách chèn các mục nhập giả vào {search_dataset}.
Ví dụ, nếu bạn đang sử dụng MySQL, làm điều này trên 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 = ''
Thay thế "RESTRICTED_TYPES" với danh sách các loại nút, và làm một truy vấn tương tự cho từng đối tượng bạn muốn hạn chế từ Tìm kiếm.
Bạn cũng có thể muốn dọn dẹp bảng search_index của mình, điều này có thể cực kỳ cồng kềnh, như vậy: "DELETE from search_index where sid in (SELECT nid FROM node WHERE node.type IN (RESTRICTED_TYPES)" – aaronbauman
Một điều nữa, bạn có thể cần phải dọn sạch bảng search_total của bạn theo cách thủ công nếu bạn có một cơ sở dữ liệu rất lớn: "DELETE FROM search_total WHERE từ NOT IN (SELECT DISTINCT từ FROM search_index)". Nếu không search.module hết bộ nhớ đang cố gắng tải tất cả các mục bị thiếu trong một một truy vấn. – aaronbauman
- 1. Làm cách nào để loại trừ nội dung HTML khỏi chỉ mục elasticsearch của tôi?
- 2. tạo nội dung JavaScript được tạo cho các công cụ tìm kiếm để lập chỉ mục
- 3. Làm cách nào để loại trừ các thư mục .svn khỏi tìm kiếm trong Eclipse?
- 4. Loại trừ các thư mục khỏi tìm kiếm Eclipse
- 5. Tìm kiếm SharePoint không lập chỉ mục nội dung của thư viện tài liệu
- 6. Làm cách nào để xóa tất cả các mục nhập trong hộp Tìm kiếm?
- 7. Tìm kiếm hoặc lập chỉ mục các tệp XML
- 8. Tìm kiếm GIT từ xa tất cả các chi nhánh cho nội dung tập tin?
- 9. Làm thế nào để bạn tìm kiếm tất cả các mã nguồn trong Vim?
- 10. Để xem tất cả các nội dung (không chỉ đối tượng) trong một gói vào R
- 11. Mở rộng Tìm kiếm và lập chỉ mục Orchard
- 12. MySQL xóa tất cả các chỉ mục khỏi bảng
- 13. Làm thế nào để liệt kê các lĩnh vực CCK theo loại nội dung trong Drupal
- 14. Làm cách nào tôi có thể hạn chế loại (loại?) Cho các loại sản phẩm chỉ
- 15. Làm cách nào để Lập chỉ mục và tìm kiếm trường Ngày giờ trong Lucene.NET?
- 16. Làm cách nào để tăng tìm kiếm dựa trên loại chỉ mục trong elasticsearch hoặc lucene?
- 17. Làm thế nào để loại bỏ một thư mục và tất cả nội dung của nó khỏi thư mục hiện tại?
- 18. Làm cách nào để công cụ tìm kiếm lập chỉ mục tất cả các biến thể ngôn ngữ của một trang?
- 19. Làm cách nào để sử dụng Verity để lập chỉ mục và tìm kiếm nội dung cơ sở dữ liệu trong ColdFusion 9?
- 20. Làm cách nào để dừng công cụ tìm kiếm lập chỉ mục trang bảo trì
- 21. Drupal 7 hook_menu cho loại nội dung cụ thể
- 22. Làm cách nào để xóa tất cả các mục khỏi NSTableView do NSArrayController kiểm soát?
- 23. Làm thế nào để xóa tất cả nội dung của một thư mục với Ruby-Rails?
- 24. Chỉ mục nội dung được tải ajax
- 25. Làm cách nào để biết khi nào lập chỉ mục một cột và với nội dung nào?
- 26. Làm cách nào để tìm tất cả thư mục con của một thư mục?
- 27. Làm cách nào để xóa tất cả các mục ListBox?
- 28. Làm cách nào để loại trừ các thư mục/tập tin nhất định khỏi tìm kiếm git grep
- 29. Cách tìm kiếm nội dung của nhiều tệp pdf?
- 30. TCL: Tìm kiếm đệ quy các thư mục con để nguồn tất cả các tệp .tcl
Xác định "không hoạt động". Bạn đã liên hệ với các nhà bảo trì cấu hình tìm kiếm để được hỗ trợ chưa? – ceejayoz
Bởi không hoạt động, tôi có nghĩa là nó ngăn chặn chúng hiển thị trong kết quả tìm kiếm, nhưng nó không dừng lập chỉ mục của các nút này. Đó là những gì tôi cần. – coderama