Search the FirstSpirit Knowledge Base
Hallo werte Community,
ich beschäftige micht mit der Integration der FS Basic Search. Bislang konnte ich die Suche erfolgreich für die Preview und die Produktion aktivieren. Sowohl die Indizierung als auch die Suchanfragen funktionieren anstandslos. Nun stehe ich vor dem Problem, dass der Kunde auch die Suche für den Contentcreator wünscht. Ich bin gem. der Dokumentation vorgegangen und habe versucht eine Web-Komponente für den ContentCreator zu aktivieren, sprich hinzufügen der Anwendung und Konfiguration dieser. Beim Aktualisieren des internen Jettys kommt nun die Fehlermeldung:
Unique element servlet with identifier servlet-name=fss-Init already exists!
Scheinbar kann die Anwendung nicht mehrfach im Jetty installiert werden. Die Frage ist nun, wie man die Suche dann im CC zum Laufen bekommt. Muss man den Server/Engine der Preview verwenden und wenn ja wie muss dann die Konfiguration aussehen? Muss die Kommunikation dann über RMI erfolgen? Oder kann man mit einer geeigneten Konfiguration auch die Anwendung für den ContentCreator installieren?
Hat jemand von Euch eine Idee?
FirstSpirit Version: 5.2.425
Konfiguration:
Server-Name = fssServerCC
Engine-Name = fssEngineCC
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">DEBUG, file</attribute>
<attribute name="log4j.appender.file">org.apache.log4j.RollingFileAppender</attribute>
<attribute name="log4j.appender.file.File">/opt/XXX/firstspirit5/log/fs-search/internet/preview/fs-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">
<attribute name="bindTo">local</attribute>
<attribute name="createRMI">false</attribute>
<attribute name="localName">fssServerCC</attribute>
<server class="de.espirit.firstspirit.opt.search.server.SimpleServer">
<engine name="fssEngine" class="de.espirit.firstspirit.opt.search.engine.proxy.MonitorEngineProxy">
<attribute name="sessionTimeout">300000</attribute>
<engine class="de.espirit.firstspirit.opt.search.engine.proxy.FilterLocalizeEngineProxy">
<engine class="de.espirit.firstspirit.opt.search.engine.spider.SpiderEngine">
<attribute name="urls" type="list">
<attribute>http://XXX:8000/fs5staging/3944631/3946741/de/index.html?login=plain&login.user=XXX&login.password=X...</attribute>
</attribute>
<attribute name="index">/opt/XXX/firstspirit5/web/fs5webedit_3944631/WEB-INF/lucene.index</attribute>
<attribute name="maxThreads">1</attribute>
<attribute name="threadPriority">1</attribute>
<attribute name="maxFieldLength">200000</attribute>
<attribute name="maxContentLength">1000</attribute>
<attribute name="maxTime">6h</attribute>
<attribute name="allowed" type="list">
<attribute class="de.espirit.firstspirit.opt.search.engine.spider.link.RegexWebLinkFilter">/de/</attribute>
</attribute>
</engine>
<attribute name="locales" type="map">
<filter name="de" class="de.espirit.firstspirit.opt.search.filter.RegexFilter">
<attribute name="property">url</attribute>
<attribute name="pattern">/de/</attribute>
</filter>
</attribute>
</engine>
</engine>
</server>
</service>
<service class="de.espirit.firstspirit.opt.search.service.RebuildIndexTimerService">
<attribute name="engineURL">fssServerCC[fssEngineCC]</attribute>
<attribute name="startTime">11:00</attribute>
<attribute name="period">5m</attribute>
<attribute name="startNow">true</attribute>
</service>
</attribute>
</service>
web.xml:
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0">
<display-name>FirstSpirit SEARCH</display-name>
<description>FirstSpirit search engine for spidering and indexing web-site content.</description>
<servlet>
<servlet-name>fss-Init</servlet-name>
<servlet-class>de.espirit.firstspirit.opt.search.admin.web.ServiceServlet</servlet-class>
<init-param>
<param-name>service</param-name>
<param-value>/WEB-INF/fs-search.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet>
<servlet-name>fss-Search</servlet-name>
<servlet-class>de.espirit.firstspirit.opt.search.web.SearchServlet</servlet-class>
<init-param>
<param-name>serverURL</param-name>
<param-value>${serverName}</param-value>
</init-param>
<init-param>
<param-name>searchEngine</param-name>
<param-value>${engineName}</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>fss-Search</servlet-name>
<url-pattern>*.search</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<jsp-config>
<taglib>
<taglib-uri>fs-search</taglib-uri>
<taglib-location>/WEB-INF/fs-search.tld</taglib-location>
</taglib>
</jsp-config>
<mime-mapping>
<extension>docx</extension>
<mime-type>application/vnd.openxmlformats-officedocument.wordprocessingml.document</mime-type>
</mime-mapping>
<mime-mapping>
<extension>xlsx</extension>
<mime-type>application/vnd.openxmlformats-officedocument.spreadsheetml.sheet</mime-type>
</mime-mapping>
<mime-mapping>
<extension>pptx</extension>
<mime-type>application/vnd.openxmlformats-officedocument.presentationml.presentation</mime-type>
</mime-mapping>
</web-app>
Hallo Martin,
ich habe die von dir genannte Fehlermeldung bei uns auch im internen Ticketsystem gefunden. Dort steht, dass Problem träte auf, wenn der Servlet-Name in der web.xml doppelt vorhanden ist. Würde das Duplikat entfernt, käme es nicht mehr zu der Meldung.
Kannst du dies bitte einmal prüfen?
Viele Grüße
Michaela
Hallo Michaela,
in der Tat deutet die Fehlermeldung darauf hin, jedoch konnte ich sowohl auf Dateiebene als auch im Editor keine Duplikate feststellen. Der technische Support hat mir ein Update auf 5.2 R5 empfohlen. Diesem Vorschlagen werden wir wohl folgen. Die daraus resultierenden Erkenntnisse werde ich dann hier gleich posten.
Danke und Gruß
Martin
Hallo Michaela,
nach Rücksprache mit dem technischen Support und einem Systemupdate wurde klar, dass diese Konstellation zwischen Context und Modul nicht funktionieren wird. Die ursprüngliche Fehlermeldung ist korrekt und läßt sich dadurch erklären, dass im System für den Context CC bereits ein solches Servlet registriert wurde. Es ist die Suche für den CC welche das gleiche Modul verwendet. Out of the box wird das nicht funktionieren.
Viele Grüße
Martin