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
culture Definiert die Datumsformatierung für die SQLite Datenbank, culture=„de-DE“
<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:

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.

Siehe auch