Im Dashboard auf Crawler klicken und URL eintragen.
Suchfeld im HTML erstellen und mit JS, den Suchbegriff an die URL aus Such URL im Implementierung Beispiel anhängen
JSON Such-Ergebnisse im HTML zeigen
Im ersten Schritt muss ein Index erstellt werden, der Dokumente speichert.
Dazu klicken Sie auf Dashboard und dann auf Index erstellen.
Standardmäßig werden in dem neuen Index die Felder: 'title'
, 'content'
und 'url'
erstellt, wir haben die Möglichkeit weitere Felder hinzuzufügen.
Es existieren zwei unterschiedliche Feld-Typen zur Auswahl 'Analyse Feld' und 'Normales Feld'.
'Analyse Feld': Text in dem Feld wird bei der Indexierung analysiert, zerlegt und gespeichert. Bsp. Satz 'Mein Onlineshop mit Sport Taschen', wird mit den Suchwörtern 'Onlineshop', 'Sport', 'Taschen', 'Sport Tasche' gefunden.
'Normales Feld': Wird bei der Indexierung nicht analysiert. Bsp. Satz 'Mein Onlineshop mit Sport Taschen', wird mit nur mit dem exakten Begriff 'Mein Onlineshop mit Sport Taschen' gefunden.
Wir werden in dem Index, Projekte und Freiberufler speichern, damit wir unterscheiden können um was es sich bei den Suchergebnissen handelt,
fügen wir ein 'Normales Feld' 'section'
hinzu. Damit das Beispiel übersichtlich bleibt, nehmen wir nur zwei 'Analyse Felder' dazu
'xtra_1', 'xtra_2'
. In diesen Feldern, werden wir Texte speichern, die nur für die Suche relevant sind (Fähigkeiten, Schulbildung, Sprachkenntnisse,...). Bei den Suchergebnissen, werden die texte nicht gezeigt, sie befinden sich aber auf der Deteilseite, die über einen Link erreichbar sein wird.
Anschließend klicken wir auf Index Erstellen und gelangen zu implementierungs Beispielen
Wir klicken im Dashboard auf Implementierung Beispiel und kopieren den Quelltext aus dem Abschnitt PHP Klasse für Indexierung und Suche
Wir erstellen eine Laravel Klasse und kopieren den Inhalt aus Schritt 2. dabei passen wir den namespace an.
Jetzt erstellen wir einen Controller und eine Action. Bitte use ...SearchApi nicht vergessen
public function searchAll(Request $request){
$sapi = new SearchApi();
$apiResponse = $sapi->search($request->begriff);
$apiResult = isset($apiResponse->result) ? $apiResponse->result : [];
$data = [];
$data['apiresponse'] = $apiResult;
return view('searchresults', $data);
}
In dem Schritt erstellen wir ein Suchformular
{{Form::open(array('url'=>'/suche', 'method'=>'get'))}}
@csrf
<div class="form-row">
<div class="form-group col-md-10">
<input name="begriff" type="text" class="form-control " id="searchapi" placeholder="Suchbegriff">
</div>
<div class="form-group col-md-2">
<button type="submit" class="form-control btn btn-primary">Suche</button>
</div>
</div>
{{Form::close()}}
Bevor wir eine url mit JSON erstellen, testen wir die Indexierung
private function testIndexDoc(){
$sapi = new SearchApi();
$sapi->setTitle('Test titel');
$sapi->setContent("Mein indexierungs test Inhalt");
$sapi->setXtra1('PHP, Python, SQL');
$sapi->setSection('Projekte');
$sapi->setUrl("https://www.freelanceprojects.de/blog/scheinselbststaendigkeita");
$sapi->save();
}