Der benutzerdefinierte Lucene-Index auf meinem Sitecore 6.2 Content Delivery-Server scheint nicht richtig zu sein. Also ich denke, ich muss alle 3 meiner benutzerdefinierten Indizes neu erstellen. Wie mache ich das? Muss ich nur das gemeinsam genutzte Quell-Index-Viewer-Modul verwenden? Im Moment habe ich das auf meinem CD-Server installiert, aber aus irgendeinem Grund funktioniert es nicht. Wenn ich meinen benutzerdefinierten Index im Index Viewer auswähle, passiert nichts. Also kann ich den Index nicht auf diese Weise wiederherstellen. Kann ich die Indexdateien einfach von der Festplatte löschen? Wenn ja, wie schnell wird Lucene sie wieder aufbauen?Wie kann ich einen benutzerdefinierten Lucene-Index auf einem Sitecore-Inhaltszustellungsserver neu erstellen?
Antwort
Ich kontaktierte den Sitecore-Support und sie verwiesen mich auf das freigegebene Quellmodul namens Sitecore Support Toolbox - http://marketplace.sitecore.net/en/Modules/Sitecore_Support_Toolbox.aspx. Sobald ich installiert habe, konnte ich meine Indizes leicht neu erstellen.
Seit Sitecore 6.6 Update 3 oder 4 (kann mich nicht erinnern, welche es war) Sie Ihre benutzerdefinierten Indizes aus der Sitecores Control Panel wieder aufbauen können.
In allen vorherigen Versionen müssen Sie es aus Code oder benutzerdefinierten Modulen für Sitecore neu erstellen. Löschen von Indexdateien funktioniert nicht.
Der einfachste Code für den Wiederaufbau benutzerdefinierten Sitecores Lucene Index ist:
Sitecore.Search.SearchManager.GetIndex("your_index_name").Rebuild()
Die Blog-Post "Troubleshooting Sitecore Lucene search and indexing" können Ihnen helfen, wenn Sie den Index Wiederaufbau wird nicht Ihr Problem lösen.
Wenn Sie auf Index Viewer klicken, ohne dass etwas passiert, wird normalerweise angezeigt, dass bestimmte Dateien des Index Viewer-Pakets nicht auf Ihrem CD-Server bereitgestellt wurden. Die einfachste Lösung für dieses Problem - wenn Sie/sitecore auf dem CD-Server ausführen - ist, das Paket einfach neu auf dem CD-Server zu installieren. Danach wird IndexViewer funktionieren.
Wenn Sie keinen/sitecore auf Ihrem CD-Server haben (Sitecore empfiehlt, dies zu entfernen oder zumindest den Zugriff darauf zu sperren), wird es problematischer. Ich würde empfehlen, eine Seite/einen Webservice o.ä. einzurichten, die den Code ausführt, den Maras oben vorgeschlagen hat - auf diese Weise können Sie immer eine Indexrekonstruktion auslösen, wenn Sie sie brauchen.
In der Support-Toolbox befindet sich ein Index-Skript zum Wiederaufbau. Dies könnte selektiv bereitgestellt werden: http://marketplace.sitecore.net/en/Modules/Sitecore_Support_Toolbox.aspx – jammykam
Nizza. Hatte das vorher nicht gesehen :-) –
Wie bereits erwähnt, erforderten frühere Versionen von Sitecore 6.x benutzerdefinierte Indizes, die entweder mit IndexViewer oder mit benutzerdefiniertem Code neu erstellt werden mussten. Ich glaube an eine Revision von 6.5. Die Systemsteuerung> Datenbank> Suchindizes neu erstellen begann mit der Aufnahme von benutzerdefinierten Indizes, so dass IndexViewer nicht mehr benötigt wird (aber trotzdem funktionieren sollte).
Zu Ihrer spezifischen Frage, auf meinen CD-Servern habe ich ein Rebuild-Skript, das direkt aufgerufen werden kann, um Suchindizes neu zu erstellen. Ich vergesse, wo ich dieses Skript gefunden habe (glaube, es war etwas, das von Alex Shyba bei Sitecore veröffentlicht wurde). Sie finden die Details dieses Skripts unter https://gist.github.com/Refactored/6776801
Allerdings glaube ich, dass Sie ein anderes Problem haben, das angesprochen werden muss. Wenn Ihre CD-Server keine Änderungen erkennen und daher nicht aktualisiert werden, liegt ein Konfigurationsproblem vor. Ich würde mit diesem Artikel bei der Fehlerbehebung von Indexproblemen beginnen: http://sitecoreblog.alexshyba.com/2011/04/search-index-troubleshooting.html
Ich bin in einem meiner Projekte auf die gleiche Anforderung gestoßen. Hier war meine Lösung:
- Erstellen eines Konfigurationsinhaltselement mit einer Vorlage, die nur ein Feld hat, sagen: „Index Rebuild“ Standardwert „1“ ist, beispielsweise der Artikel Weg könnte sein: "/sitecore/content/mysite/config/index rebuild flag "
- Erstellen Sie eine IndexRebuilder-Klasse mit einer Run-Methode.Überprüfen Sie innerhalb der Run-Methode den Eintrag "Indexrekonstruktionsflag" (aus der Kontextdatenbank) und erstellen Sie den Index auf dem Server neu, wenn der Feldwert "Erneut erstellen" gleich "1" ist. Aktualisieren Sie den Artikelfeldwert nach dem erfolgreichen Neuaufbau auf "0".
Richten Sie einen geplanten Agenten ein, der auf die IndexRecuilder-Klasse verweist. Für Beispiele,
< Mittel type = "MyAssembly.IndexRebuilder, MyAssembly" method = "Run" interval = "00:00:00"/>
bemerken, dass das Intervall "00:00:00" Standardmäßig wird der Agent auf dem Content Management Server deaktiviert. Ihr Build- und Bereitstellungsprozess sollte diesen Wert auf "00:05:00" setzen, damit der Agent alle 5 Minuten ausgeführt werden kann.
Von dort Index auf Content-Delivery-Server neu zu erstellen, veröffentlichen nur der "Index Flagge wieder aufzubauen" Artikel von Master-Datenbank auf die Content-Delivery-Datenbank (Web) und den Index auf Ihrem Content-Delivery-Server gestartet werden sollte Wiederaufbau in 5 Minuten.
- 1. Wie führe ich einen Task auf einem benutzerdefinierten TaskScheduler aus?
- 2. Wie kann ich einen benutzerdefinierten carrierwave Postprozessor erstellen?
- 3. Wie kann ich vhost auf cPanel neu erstellen?
- 4. Wie kann ich einen benutzerdefinierten Debugger debuggen?
- 5. Kann ich einen benutzerdefinierten onClickListener für mehrere Schaltflächen erstellen
- 6. Ich kann keinen MembershipUser für einen benutzerdefinierten MembershipProvider erstellen
- 7. Wie kann ich einen benutzerdefinierten Transformator debuggen
- 8. Wie kann ich einen GIT Stash aus einem Commit erstellen?
- 9. Wie kann ich einen EventHandler in einem EventHandler erstellen?
- 10. Wie kann ich einen benutzerdefinierten Repeater erstellen, der Header, Footer basierend auf Eigenschaften anzeigt?
- 11. Wie wende ich einen benutzerdefinierten Filter an?
- 12. Kann ich einen Git Remote-Zweig in einem Befehl zerstören und neu erstellen?
- 13. Wie kann ich einen 'Ostream' von einem Socket erstellen?
- 14. Wie würde ich einen benutzerdefinierten NFC-Reader-Writer programmieren/erstellen?
- 15. Kann ich einen benutzerdefinierten Header variieren?
- 16. Wie erstellen Sie einen benutzerdefinierten thematischen NSButton?
- 17. Kann ich einen benutzerdefinierten Pivot-Tabellennamen mit einem anderen M: M-Objekt erstellen?
- 18. Wie kann ich ein GridLayout während der Größenänderung neu erstellen?
- 19. Einen benutzerdefinierten SwipeRefreshLayout-Indikator erstellen?
- 20. Wie kann ich Toolbar neu erstellen, wenn Rotation auftritt
- 21. WCF: Wie kann ich diese App.config-Werte programmatisch neu erstellen?
- 22. Wie kann ich einen Regenbogen-Effekt auf meinem Text erstellen?
- 23. Wie kann ich den ImageKit Picture Taker neu erstellen?
- 24. Wie kann ich einen Präfixbaum erstellen?
- 25. SVMLight: Wie kann ich einen Klassifikator erstellen?
- 26. Wie kann ich einen vertikalen UISlider erstellen?
- 27. Wie erstelle ich einen benutzerdefinierten CSS3-Ladekreis?
- 28. Kann ich einen TextInput erstellen?
- 29. Wie kann ich die Sichtbarkeit einer benutzerdefinierten Listenaktion auf eine neu definierte Gruppe beschränken?
- 30. Wie registriere ich einen benutzerdefinierten JsonSerializer richtig?
Momentan kann der Index Viewer die Indizes nicht remote wiederherstellen (dh von CM auf CD). Ich arbeite jedoch an einer Version, wo es möglich ist. –