felix_reinhold
Returning Responder

FS-Search: RebuildIndexTimerService passt index.cfg nicht an

Hallo zusammen,

ich bin momentan dabei FS-Search in ein Projekt einzubinden.

habe dafür auch eine sehr simple fs-search.xml erstellt, die eigtl. soweit auch funktioniert.

Der RebuildIndexTimerService erstellt mir einen Index, jedoch aktualisiert er die index.cfg nicht.

So enthält die Datei seit dem ersten Aufbau eines Index folgende Daten:

#index meta information

#Fri Oct 28 15:34:22 CEST 2011

subindex=guf7kb9w

Der Indexer in der fs-search.xml sieht so aus:

<service class="de.espirit.firstspirit.opt.search.service.RebuildIndexTimerService">

<attribute name="engineURL">searchServer[SpiderEngine]</attribute>

<attribute name="startTime">09:18</attribute>

<attribute name="period">1h</attribute>

<attribute name="startNow">true</attribute>

</service>







Ich hab schon folgendes versucht:

  1. index.cfg leeren --> Erzeugt Fehler, dass keine Index-Daten in der index.cfg gefunden wurden
  2. index.cfg löschen --> Es wird ein Ordner "0000000" erstellt und die Fehlermeldung, dass in diesem Ordner keine Index-Daten gefunden wurden.
  3. Index-Ordner löschen/anderen Index-ordner in der fs-search.xml angeben. --> Ordner wird wieder angelegt, aber keine index.cfg, also gleicher Fehler wie bei 2.

Der Ordner ist nicht schreibgeschützt o.ä..

Also Zusatzinfo: Das Ganze läuft auf einem lokalen Tomcat und Win7.

hat hierzu jemand eine Idee, woran das liegen könnte?

Hie rnochmal meine komplette fs-search.xml :

<?xml version="1.0" encoding="UTF-8"?>

<service class="de.espirit.firstspirit.opt.search.service.proxy.MultiServiceProxy">

  <attribute name="services" type="list">

   <service class="de.espirit.firstspirit.opt.search.service.adapter.Log4jService">

      <attribute name="log4j.rootCategory">INFO, file</attribute>

      <attribute name="log4j.appender.file">org.apache.log4j.RollingFileAppender</attribute>

      <attribute name="log4j.appender.file.File">D:\wvv_search.log</attribute>

      <attribute name="log4j.appender.file.MaxFileSize">5MB</attribute>

      <attribute name="log4j.appender.file.MaxBackupIndex">5</attribute>

      <attribute name="log4j.appender.file.layout">org.apache.log4j.PatternLayout</attribute>

      <attribute name="log4j.appender.file.layout.ConversionPattern">%-5p %d (%c)%m%n</attribute>

    </service>

    <service class="de.espirit.firstspirit.opt.search.service.adapter.ServerService">

        <server class="de.espirit.firstspirit.opt.search.server.SimpleServer">

              <!-- SpiderEngine -->

              <engine name="SpiderEngine" class="de.espirit.firstspirit.opt.search.engine.spider.SpiderEngine">

                <attribute name="urls" type="list">

                    <attribute>http://localhost:8080/fs_preview/de/articles/sitemap.jsp</attribute>

                </attribute>

                <attribute name="index">D:\search.index</attribute>

                <attribute name="maxThreads">2</attribute>

                <attribute name="threadPriority">1</attribute>    

                <attribute name="maxDocuments">50000</attribute>

                <attribute name="maxTime">120m</attribute>

              </engine>

        </server>       

        <attribute name="bindTo">local</attribute>

        <attribute name="localName">searchServer</attribute>

    </service>

    <service class="de.espirit.firstspirit.opt.search.service.RebuildIndexTimerService">

      <attribute name="engineURL">searchServer[SpiderEngine]</attribute>

      <attribute name="startTime">09:18</attribute>

      <attribute name="period">1h</attribute>

      <attribute name="startNow">true</attribute>

    </service>

  </attribute>

</service>

Vielen Dank im Voraus

Gruß,

Felix

0 Kudos
4 Replies
jlindenberg
I'm new here

bei mir, sollte das RebuildIndexTimerService mit dem Server durch RMI kommunizieren zu konnen,

ich habe etwas so,

<service class="de.espirit.firstspirit.opt.search.service.adapter.ServerService">

....

<server class="de.espirit.firstspirit.opt.search.server.SimpleServer">

....

</server>

<attribute name="bindTo">rmi</attribute>

<attribute name="rmiHost">hostname</attribute>

<attribute name="rmiPort">xxxxx</attribute>

<attribute name="rmiName">rmiName</attribute>

....

</service>

<service class="de.espirit.firstspirit.opt.search.service.RebuildIndexTimerService">

...

<attribute name="engineURL">rmi://hostname:xxxxx/rmiName[fssEngine]</attribute>

<attribute name="startTime">...</attribute>

<attribute name="period">....</attribute>

<attribute name="startNow">....</attribute>

...

</service>

Grüße.

0 Kudos

Hallo zusammen,

auch wir haben exakt das gleiche Problem. Wir möchten die BasicSearch mit Spider-Engine auf einem Windows 2008 Server nutzen.

Problem: Es wird zwar ein Index angelegt, wenn man den Tomcat neu startet oder über do.service?action=reload den Prozess startet. Jedoch wird weder der zeitgesteuerte Index-Vorgang gestartet noch wird bei dieser und den anderen Methoden die index.cfg angepasst, damit das neue Index-Verzeichnis in der index.cfg referenziert wird.

Die gleiche Konfiguration funktioniert auf einem Linux-Server problemlos. Hat jemand Erfahrungen mit dem Einsatz der BasicSearch auf Windows-Betriebssystemen und kann weiterhelfen?

Vielen Dank im Voraus

Gruß,

Volker Braun

0 Kudos

Hallo zusammen,

hierzu ein kleines Update:

In der fs-search.xml gibt es einen Tag "allowed".

In diesen Tag haben wir die URL in folgender Form eingegeben: subdomain.domain.de

Als wir diesen Wert auf "subdomain.domain.de/de/" gestellt haben, waren alle Fehler behoben.

- Der RebuildService läuft an

- index.cfg wird erstellt oder aktualisiert

- Der Index ist wesentlich umfangreicher

Viele Grüße

Volker Braun

0 Kudos

Hallo zusammen,

Ich habe das selbe Problem.

Der Index-Ordner wird angelegt, aber die index.cfg Datei wird nicht angepasst.

Ausschnitt aus dem fs-search.xml

<!-- START - Indexing Engine -->

<engine class="de.espirit.firstspirit.opt.search.engine.spider.SpiderEngine">

          <attribute name="index">/mnt/data/tomcat6/webapps/locherbewehrungen/WEB-INF/searchindex</attribute>

          <attribute name="threadPriority">1</attribute>

          <attribute name="urls" type="list">

                    <attribute>http://www.locherbewehrungen.ch/de/web/homepage.html</attribute>

          </attribute>

          <attribute name="allowed" type="list">

                    <attribute class="de.espirit.firstspirit.opt.search.engine.spider.link.RegexWebLinkFilter">locherbewehrungen.ch/de/</attribute>

                    <attribute class="de.espirit.firstspirit.opt.search.engine.spider.link.RegexWebLinkFilter">/media/de/</attribute>

          </attribute>

          <attribute name="forbidden" type="list">

                    <attribute class="de.espirit.firstspirit.opt.search.engine.spider.link.RegexWebLinkFilter">.*/web/forms/.*</attribute>

                    <attribute class="de.espirit.firstspirit.opt.search.engine.spider.link.RegexWebLinkFilter">.*?RenderOutputType=pdf.*</attribute>

          </attribute>

</engine>

<!-- END - Indexing Engine -->

....

<!-- Ein start-/stoppbarer Service, der zyklisch den Suchindex erneut aufbaut. -->

<service class="de.espirit.firstspirit.opt.search.service.RebuildIndexTimerService">

          <attribute name="engineURL">fssServer[fssEngine]</attribute>

          <attribute name="startTime">06:30</attribute>

          <attribute name="period">6h</attribute>

          <attribute name="startNow">true</attribute>

</service>

Das Logfile gibt auch keine Hinweise auf ein mögliches Problem.

Gruss

Thomas

0 Kudos