**Dies ist eine alte Version des Dokuments!** ----
= Texte der Seitennavigation aus dem regain-Index ausschließen = ==Ziele== - bei der Erstellung des regain-Indexes die Besonderheiten der einzelnen Bereiche einer Website berücksichtigen #die Index-aktualisierung effizient implementieren ==Angaben zur Website== die Website, die mit regain indexiert wird, hat folgende Besonderheiten: #einige Projekte bestehen aus Webseiten, die eine Art pseudo-frameartige Struktur (pseudoFrame) haben (in einer''dateiXY.**htm**'' sind eigentliche Seiteninhalte abgelegt und sind jeweils mittels in ''dateiXY.**asp**'' enthaltenen 'include=dateiXY.''htm'' -Anweisungen eingebunden. Die ASP's beinhalten außerdem seitenbezogene Navigationsleisten, die nicht zu indexieren sind) #andere Projekte beinhalten entweder echte Framestrukturen (echteFrames) #dann gibt es noch ganz normale HTML-Seiten (easyHTML) #viele der unter 1. aufgeführten Dokumente werden nochmal im PDF-Format als Druckversion im Webprojekt verlinkt #andere Dokumente dagegen werden ausschließlich im PDF-Format veröffentlicht ==Lösungsansätze== - die in jeder Webseite enthaltene Texte in Menüs der linken Spalte und der horizontalen Top-Navigation nicht im regain-Index erfassen #Für die unter 1. aufgeführte Webseiten bietet sich an, nur über die dateiXY.''htm'' den regain-Crawler loslassen. Damit linke Navigationsspalte und die horizontale Top-Navigation in den gefundene Treffern korrekt, mit den Navigationsleisten angezeigt werden, im regain-Index ''.htm''-Endungen durch ''.asp'' ersetzen. #die Dokumente, die als HTM und PDF vorliegen, werden nur einmal indiziert #unter 2. und 3. aufgeführte Webprojekte werden webbasiert mit regain-Standardlösung indiziert ==die Lösung== es werden mehrere regain-Indexe erstellt: #alle HTML-Webseiten in 'pseudoFrame'-Projekten, die .htm-Endung haben, werden im Dateisystem in den Index übernommen und dann werden .htm's durch .asp ersetzt - realisierbar mit der Methode ''createDocument'' (Klasse net.sf.regain.crawler.document.DocumentFactory) und der file:///-Präfix wird mit [http://regain.murfman.de/wiki/en/index.php/SearchConfiguration.xml#.3CrewriteRules.3E_tag rewriteRules] durch http:// ersetzt. (s. Auch [http://forum.murfman.de/de/viewtopic.php?t=171 Dateiendungen bei der Indexerstellung manipulieren]) #Dokumente, die nur im PDF-Format angeboten werden, werden mit Hilfe von [http://regain.murfman.de/wiki/en/index.php/CrawlerConfiguration.xml#.3Cwhitelist.3E_tag whitelist] , [http://regain.murfman.de/wiki/en/index.php/CrawlerConfiguration.xml#.3Cblacklist.3E_tag blacklist] und [http://regain.murfman.de/wiki/en/index.php/CrawlerConfiguration.xml#.3CurlPattern.3E_tag urlPattern]-Tag (\.pdf) in einem separaten Index erfasst #'echteFrames' und 'easyHTML'-Webprojekte werden webbasiert mit der regain-Standard-Lösung mit urlPattern-Wert ''\.htm'' indiziert diese Indizes werden dann in der [[SearchConfiguration.xml]] in die regain-Suche eingebunden ==elegante Lösung mit Ant-Framework== setzt voraus, dass für die oben beschriebene regain-Versionen (z.B. mit der modifzierten ''createDocument''-Methode) ein Ant-Projekt mit dem target-Element <target name="index-aktualisieren"> <exec executable="pseudoFrameIndex.bat"/> <exec executable="PDFDocsIndex.bat"/> <exec executable="easyHTMLundechteFramesIndex.bat"/> </target> erstellt wird. In der ''pseudoFrameIndex.bat'' wird mit %Java_Home%\bin\java -jar regainpseudoFrame-crawler.jar -config CrawlerConfiguration''XX''.xml eine Crawler-Instanz mit der angepassten ''createDocument'' gestartet. Alle drei Crawler-Instanzen, die mit den ''exec''-Tasks gestartet werden, haben jeweils eine eigene ''CrawlerConfiguration**XX**.xml'', die beim Start %Java_Home%\bin\java -jar regain-crawler.jar -config CrawlerConfiguration''XX''.xml mitgegeben wird . Ich bilde mir ein, dass es möglich ist, dass ''regainpseudoFrame-crawler.jar'' und ''regain-crawler.jar'' in einem Ordner gespeichert werden, auf ein gemeinsames Verzeichnis 'preparator' zugreifen und diese drei Ant-Tasks parallel laufen können.