Tools¶
Der Ordner cmd/ enthält zwei Konsolenanwendungen, die den .NET-Client verwenden.
Gebaut werden sie mit dotnet publish cmd/CreateIndex bzw. dotnet publish cmd/ImportDbTable.
Note
Verlangt der Server Authentifizierung, die Zugangsdaten in der Server-URL übergeben:
-s https://importer:my-secret@search.example.com.
CreateIndex¶
Legt einen Index samt Mapping an.
CreateIndex -server[-s] server
-index[-i] indexname
-field[-f] fieldname[.fieldtype][.stored|not_stored] // indiziertes Feld, Standard .text.stored
-sfield fieldname[.fieldtype] // nur gespeichertes Feld, Standard .text
-primary field1,field2 // primäre Suchfelder, Standard: erstes Feld
-remove // bestehenden Index vorher löschen
Feldtypen: text, string, int32, single, double, datetime, geo, guid.
.\CreateIndex.exe -s https://localhost:44393 `
-i new-index `
-f suggested_text `
-f sub_text `
-f category `
-sfield id
ImportDbTable¶
Liest Zeilen aus einer Datenbank und indiziert sie (in Blöcken zu 1000).
ImportDbTable -server[-s] {server}
-index[-i] {indexname}
-db-type {PostGres|Oracle|SqlServer|Sqlite}
-db-connectionstring[-db] {connectionString}
-sql-statement[-sql] {sqlStatement}
-f {indexfield} {expression} // expression: "lorem {{DB_FIELD1}} ipsum {{DB_FIELD2}}"
Jedes -f ordnet einem Indexfeld einen Ausdruck zu; {{SPALTE}} wird durch den Spaltenwert ersetzt.
.\ImportDbTable.exe -s https://localhost:44393 -i addresses `
-db-type SqlServer `
-db "Server=.;Database=gis;Trusted_Connection=True" `
-sql "SELECT id, street, nr, city FROM addresses" `
-f suggested_text "{{street}} {{nr}}" `
-f sub_text "{{city}}" `
-f id "{{id}}"
Der Index muss vorher angelegt und gemappt sein (z. B. mit CreateIndex).