Apps und Bundles

App Konfiguration

Die Features der map.apps Smart Search Extension werden aktiviert, indem die entsprechenden Bundles der App-Konfiguration hinzugefügt werden.

Der empfohlene Weg zum Hinzufügen von Bundles zu einer App führt über den map.apps Manager:

  • Einloggen in den Manager als Redakteur- oder Admin-Nutzer

  • Anklicken der App im Apps-Tab, die smart.search Features nutzen soll

  • Wählen der Bundles-Aktion

  • Anzeige der installierten Bundles durch Klicken auf +

  • Suchen und Selektieren des hinzuzufügenden smart.search Bundles sf_smartsearch

  • Speichern und Schließen der App-Konfiguration

Erweiterte Konfiguration der Bundles

Neben der Minimalkonfiguration können weitere Parameter der Suche eingestellt werden. Die Default-Einstellungen der Suche können in der app.json Datei der jeweiligen app angepasst werden.

target

URL zum smart.finder Server.

Standardwert: @@finder.service.url@@/smartsearch

title

Titel, der in Omnisuche angezeigt wird.

Standardwert: smart.search

description

Tooltip des Eintrags in der Omnisuche.

Standardwert: Find features

omniSearchLabelString

Konfiguration der Ergebnisansicht in der Omnisuche.

Es können sämtliche Felder verwendet werden, die bei einer Suche gegen den Index zurückgegeben werden.

Standardwert: ${title} [${layer}]

omniSearchDefaultLabel

Platzhalter in der Ominearch

Standardwert: Enter search term…​

fq

Angabe einer Filter query.

Mithilfe dieses Parameters kann die Suche, ohne Berücksichtigung des Scores, weiter eingeschränkt werden.

Standardwert: -
Beispiel:
Es sind die Layer A, B und C im Index vorhanden. A, B und C entsprechen dem Wert descriptiveName, der in der Datei spring-feature-layer-config.xml für den jeweiligen Layer angegeben ist.
Die Sicht einer App soll nun auf den Layer A beschränkt werden. Die entsprechende Filter Query hierzu lautet: layer:A
Soll hingegen die Sicht auf die Layer A und C beschränkt werden, lautet der Filter: layer:(A OR C)

editDistance

Die Editierdistanz bestimmt die minimale Anzahl an Editieroperationen eines Anfrage-Ausdrucks (z.B. Einfügungen, Löschungen, Ersetzungen).

Erlaubte Werte:

false

nicht nutzen

true

Server-Standard verwenden, entspricht dem Wert 2

0

exakt

1

ähnlich

2

unähnlich

Standardwert: true

type

Objekt bestehend aus id und title.

id schränkt Query auf Layer ein (q += "&Layer:" + type.id), title wird an Titel des Resultats angehangen.

Standardwert: -

appendTypeToResult

Wenn gesetzt, wird title an den Titel des Resultat-Items gehangen.

Standardwert: false

singleBoostWeight

Gewichtung für Treffer, die mindestens ein Suchbegriff beinhalten.

Standardwert: 98

groupedBoostWildcardWeight

Gewichtung für Treffer, die alle Suchbegriffe beinhalten.

Dieser Parameter kommt nur zur Anwendung, wenn mehrere Suchbegriffe eingegeben werden.

Standardwert: 99

groupedBoostWeight

Gewichtung für vollständige Treffer auf den Suchbegriff.

Standardwert: 100

useCustomSorting

Legt fest, ob anstelle der oben genannten Boosting-Parametern eine benutzerdefinierte Sortierung vorgenommen werden soll.

Wenn der Parameter auf true gesetzt wird, werden alle Boosting-Parameter ignoriert und Ergebnisvorschläge werden nach dem konfigurierten Feld sortiert.

Standardwert: false

sortField

Bestimmt das Feld für die Sortierung, wenn useCustomSorting aktiviert ist.

Standardwert: title_string

sortOrder

Bestimmt die Sortierreihenfolge, wenn useCustomSorting aktiviert ist.

Erlaubte Werte: asc, desc
Standardwert: asc

Die Einstellungen im folgenden Beispiel können auch über die Live-Konfiguration vorgenommen werden (Live KonfigurationSuche & Selektionsmart.search: Store).
Erweiterte Konfiguration
"SmartSearchStore": {
    "target": "@@finder.service.url@@/smartsearch",
    "selectedChild": 0,
    "title": "smart.search",
    "description": "Find features",
    "omniSearchLabelString": "$\{title\} [$\{layer\}]",
    "omniSearchDefaultLabel": "Enter search term...",
    "additionalParams": {
        "fq": ""
    },
    "editDistance": true,
    "type":{
        "title": "title",
        "id": "LayerId"
     },
     "appendTypeToResult": true
}

Es folgt ein Beispiel einer angepassten Konfiguration für die Verwendung der alphabetischen Sortierung nach dem Feld title_token:

Erweiterte Konfiguration
"SmartSearchStore": {
    "useCustomSorting": true,
    "sortField": "title_token",
    "sortOrder": "asc"
}

Nutzung von smart.finder und Smart Search Bundles

Falls in der verwendeten map.apps Instanz sowohl smart.finder Bundles als auch dies Bundles des map.app Smart Search Extension registriert sind, müssen Sie bei jeder App, die ausschließlich die Smart Search Funktionen nutzen soll, die Komponente FacetedSearchFinderStore in der app.json wie folgt deaktivieren:

Erweiterte Konfiguration
"bundles": {
    [...]
    "sf_store": {
        "DocumentStore": {
            "componentEnabled": false
        }
    }
    [...]
}

Aufbau des Indexes

Die weiteren Schritte zum Aufbau des Index und der Verknüpfung der Attribute eines ArcGIS Server Layers mit den Feldern des Index sind in der smart.finder Dokumentation beschrieben: