Dies ist eine alte Version des Dokuments!
Inhaltsverzeichnis
PrimusSearchService
Der PrimusSearchService indiziert die zu verwaltenden Daten und bietet eine Möglichkeit für eine schnelle Suche.
Installationsverzeichnis
Der Primus Search Service liegt i.d.R. im Setup Verzeichnis von Primus unter \Resources\Utils\PrimusSearchService. Es gibt dort folgende Unterverzeichnisse:
| Verzeichnis | Beschreibung |
|---|---|
| db | Verzeichnis in dem die Indexdatenbank nebst Log abliegt |
| offline_calls | Wenn der Suchdienst gestoppt ist, können Clients hier geänderte Dateien hinterlegen die der Dienst nachtträglich verarbeitet wenn er wieder gestartet wird. |
| x64 | Binary Verzeichnis von SQLite |
| x86 | Binary Verzeichnis von SQLite |
offline_calls
Wenn der Suchdienst gestoppt ist, können Clients hier geänderte Dateien hinterlegen die der Dienst nachtträglich verarbeitet wenn er wieder gestartet wird. Dazu muss das Verzeichnis für die Clients erreich- und beschreibbar sein. Das geschieht idealerweise über eine verdeckte Freigabe (offline_calls$). Das Verzeichnis muss sowohl unter SearchServiceDB auf den Clients als auch in der PrimusSearchService.xml eingetragen sein.
PrimusSearchService.xml
In der PrimusSearchService.xml erfolgt die Konfiguration des Suchdienstes.
Aufbau der XML
| Tag | Attribute | Beschreibung | ||
|---|---|---|---|---|
<Configuration> | Stammelement | |||
<Settings> | Den Dienst betreffende Einstellungen | |||
db_path | Ablageverzeichnis für die Datenbankdatei | |||
tcp_port | TCP/IP Port über den die Clients mit dem Suchdienst kommunizieren | |||
offline_calls | Ablageverzeichnis für offline_calls | |||
<Tables> | Definition der Suchbereiche | |||
<XXX_Projects> | Definiert einen Suchbereich mit dem Namen XXX für Verzeichnisse |
|||
<XXX_Documents> | Definiert einen Suchbereich mit dem Namen XXX für Dokumente |
|||
path | Ablageverzeichnis für die zu indizierenden Daten | |||
prodata | Definiert ob es sich um eine Projekt- (1) oder einen Dokumentenindex (0) handelt |
|||
sqlite | Definiert ob SQLite genutzt (1) werden soll oder nicht (0) |
|||
limit | Maximale Anzahl der Ergebnisse die eine Suche zurück liefern soll (nur SQLite) | |||
map | Ordnet einen Laufwerksbuchstaben einem UNC-Pfad zu | |||
Indizierte Datenfelder
In den Suchbereichen werden die zu indizierenden Datenfelder als Leer-Tag mit dem Namen des Datenfelds und dem Attribut length für die Anzahl der Zeichen des Datenfelds die indiziert werden sollen. Das Attribut length ist bei Verwendung von SQLite nicht mehr erforderlich, für Datumsangaben sollte allerdings das Attribut type mit dem Wert date angegeben werden um korrekte Suchergebnisse zu erhalten.
<ChangeName length="8" /> <ChangeDate length="" type="date" />
map Attribut
Der PrimusSearchService läuft als Dienst, evtl. mit einem speziellen Dienstkonto. Diesem Dienst stehen zur Laufzeit keine Laufwerksbuchstaben zur Verfügung, da diese erst im Kontext einer Benutzersitzung erstellt werden. Damit nun der PrimusSearchService auch diese Dokumente indizieren kann, erfolgt mit map eine Zuordnung eines Pfads mit Laufwerksbuchstaben zu einem UNC-Pfad.
Wenn auf dem Client
<PATH path="K:\FileServer"
dann wird der dies so konfiguriert
<FileServerLocal_Documents path="K:\FileServer" prodata="0" sqlite="1" map="K:\FileServer=\\Cadadaptdev1\d\CADAdapt\PrimusProjekte\DemoPLM\PrimusPLM_SE\Data\FileServer" limit="1000" >
Dienstkonto
Der PrimusSearchService muss mit als Windowsdienst mit einem Dienstkonto gestartet werden, das folgende Anforderungen erfüllen muss:
- Lesender Zugriff auf die verwaltenden Dateien
- Auf Ablage der Suchdatenbank Datenbank muss er schreiben können
Firewalleinstellungen
Der im Attribut tcp_port konfigurierte Port muss in der Firewall ein- und ausgehend, sowohl auf dem Client als auch dem Server freigegeben sein.
