Ich möchte nur bestimmte Knoten indiziert werden. Das Modul "Search Config" beansprucht diese Fähigkeit, aber es funktioniert nicht. Also, wie bearbeite ich entweder das Knotenmodul, um nur bestimmte Knoten zu indizieren, oder noch besser, ein Modul, das dies für mich tun kann?Wie kann man die Drupal-Suche von der Indizierung aller Inhaltstypen einschränken?
Antwort
Dies ist a long standing feature request, aber es sieht aus wie es bereits mindestens geschoben Drupal 8:/
Sie können einige Abhilfe Vorschläge in der Feature-Request Diskussion finden oben verbunden, aber der ‚Standard‘ Ansatz von Das Suchkonfigurationsmodul ist described here. Es verhindert nicht, dass die Knoten indiziert werden, sondern manipuliert die Suchabfragen, um bestimmte Einträge (z. B. Knotentypen) zu ignorieren, sodass sie nicht auf den Suchergebnisseiten angezeigt werden.
Da es im Moment keine offensichtlich bessere Lösung gibt (afaik), stimme ich mit ceejayoz' Kommentar überein, dass Sie zuerst nachschauen sollten, warum das Modul search config für Sie nicht funktioniert, bevor Sie Ihre eigene Lösung programmieren.
Wenn Sie auf die Bearbeitung des Knotenmoduls selbst zurückgreifen müssen, wäre node_update_index()
der Ort zum Starten.
Hier ist die Abfrage, die bestimmt, was indiziert werden muss, von 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
Sie können die Indizierung Skript läuft nicht verhindern. Aber Sie können diese Abfrage in den Denkinhalt hineinführen, der schon indiziert wird, indem Sie Dummyeinträge in {search_dataset} einfügen.
Zum Beispiel, wenn Sie MySQL verwenden, tun dies auf 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 = ''
Ersetzen „RESTRICTED_TYPES“ mit Ihrer Liste der Knotentypen, und beschränken möchten für jede Entität Sie eine ähnliche Abfrage tun aus Suche.
Sie können auch Ihre Tabelle search_index bereinigen, die extrem sperrig werden kann, wie folgt: "DELETE from search_index wo sid in (SELECT nid FROM Knoten WHERE node.type IN (RESTRICTED_TYPES)" – aaronbauman
Eine weitere Sache, Sie können müssen Sie Ihre search_total Tabelle manuell bereinigen, wenn Sie eine sehr große Datenbank haben: "DELETE FROM search_total WHERE Wort NICHT IN (SELECT DISTINCT Wort FROM search_index)" Sonst hat search.module keinen Speicher mehr und versucht alle fehlenden Elemente in a zu laden einzelne Abfrage. – aaronbauman
- 1. Wie kann man SignalR Server Verbindungen einschränken?
- 2. Wie kann man private Inhalte einschränken?
- 3. wx.TextCtrl Wie kann man die Funktion "Going Down" einschränken?
- 4. Drupal: Wie erstellt man eine Ansicht, die alle Inhaltstypen anzeigt
- 5. Wie kann man die Anzeige von php.ini von allen Unterverzeichnissen einschränken?
- 6. Einschränken der Werte von Befehlszeilenoptionen
- 7. Wie kann man den HTTP-Anfragetyp in sails.js einschränken?
- 8. Wie funktioniert die Indizierung von Nebenhandlungen arbeiten
- 9. Wie kann man einen Benutzer in asp.net einschränken?
- 10. Wie ermittelt man den Feldtyp für die SOLR-Indizierung?
- 11. Wie bekomme ich eine Liste aller Konstanten, die man von der Rails-Konsole bekommen kann
- 12. Wie man Zahlen in einem Textfeld mit jquery einschränken kann
- 13. Einschränken der Benutzeransicht/Zugriff auf die Standarddatenbanken
- 14. Wie kann man die Benutzer, die jenkinsfile-Tests in Pull-Requests ausführen können, einschränken?
- 15. Einschränken der SWF-Dateisichtbarkeit
- 16. MOSS 2007 Inhaltstypen - Farmweite Anwendung
- 17. nginx, welche Inhaltstypen Kompression für
- 18. Einschränken der Zeicheneingabe in C++
- 19. Einschränken von PHP-Sitzungsvariablen
- 20. Àlgolia - Wordpress - Kategorie von der Indizierung ausschließen
- 21. Wie kann ich die Markdown-Syntax in Ruby einschränken?
- 22. Sharepoint-Suche mit Inhaltstypen
- 23. So stellen Sie Inhaltstypen effizient für einen Inhaltstypen-Hub bereit
- 24. einschränken Menschen, die von PHP GET Variable
- 25. Migrieren von Archetype-Nachrichten zu Dexterity-Inhaltstypen
- 26. Einschränken der Anzahl der Funktionsiterationen
- 27. AFNetworking akzeptiert alle Inhaltstypen
- 28. Wie kann ich Anmeldeinformationen in Jenkins einschränken?
- 29. Was sind die Killerverwendungen von Inhaltstypen für Listen (nicht Dokumentbibliotheken)?
- 30. Einschränken von Datentypen
Definieren Sie "funktioniert nicht". Haben Sie den Support der Search Config Maintainers kontaktiert? – ceejayoz
By funktioniert nicht, ich meine, es verhindert, dass sie in den Suchergebnissen angezeigt werden, aber es stoppt nicht die Indexierung dieser Knoten. Was ich brauche. – coderama