Skip to content

Commit

Permalink
Merge pull request #46 from tyrant88/doku
Browse files Browse the repository at this point in the history
Howto Reindex aktualisiert
  • Loading branch information
alxndr-w authored Sep 27, 2016
2 parents 2248e09 + 8d1a160 commit 29e3f59
Show file tree
Hide file tree
Showing 3 changed files with 80 additions and 22 deletions.
69 changes: 60 additions & 9 deletions plugins/documentation/docs/de_de/howto-reindex.md
Original file line number Diff line number Diff line change
@@ -1,20 +1,71 @@
# Reindexierung von Datenbank-Feldern
# Automatische Reindexierung

Da das Addon nicht wissen kann, wann eine Datenbankspalte neu indexiert werden muss, kann keine automatische Indexierung erfolgen.
`Search it` greift auf folgende Extension Points zurück, um Änderungen an den Inhalten von Redaxo-Artikeln zu erfassen:

Die Klasse search_it bietet allerdings die Methode `indexColumn` an. Über diese Methode können Datenbankspalten neu oder wieder indexiert werden. Müssen die Datenbankspalten nur zu einem bestimmten Datensatz indexiert werden, kann außerdem die ID dieses Datensatzes angegeben werden. Search it wird dann auch nur den betroffenen Datensatz reindexieren.
* `ART_DELETED`
* `ART_META_UPDATED`
* `ART_ADDED`
* `ART_STATUS`
* `ART_UPDATED`
* `CAT_DELETED`
* `CAT_STATUS`
* `CAT_ADDED`
* `CAT_UPDATED`
* `MEDIA_ADDED`
* `MEDIA_UPDATED`
* `SLICE_UPDATED`
* `SLICE_DELETED`
* `SLICE_ADDED`
* `SLICE_SHOW`

## Beispiel
## Reindexierung von Artikeln via Cronjob

Ein Addon arbeitet mit einer eigenen Datenbank-Tabelle `table`. Search it soll Inhalte dieses Addons auch automatisch reindexieren. Da das Addon selbst weiß, wann die Beispieldatenbank-Feld `field` reindexiert werden soll, kann die Methode `indexColumn` von diesem Addon aufgerufen werden:
Falls notwendig, kann eine Reindexierung von Artikeln auch über einen Cronjob angesteuert werden:

```
<?php
# Dieses Beispiel ist noch nicht funktionstüchtig.
#foreach($search_it->includeColumns() as $table => $columnArray){
# foreach($columnArray as $column) {
# $search_it->indexColumn($table, $column);
# }
#}
?>
```

## Reindexierung von Datenbank-Feldern

Die Klasse `search_it` bietet allerdings die Methode `indexColumn` an. Über diese Methode können Datenbankspalten neu oder wieder indexiert werden. Müssen die Datenbankspalten nur zu einem bestimmten Datensatz indexiert werden, kann außerdem die ID dieses Datensatzes angegeben werden. Search it wird dann auch nur den betroffenen Datensatz reindexieren.

### Allgemein

Falls notwendig, kann eine Reindexierung von Datenbank-Tabellen auch über einen Cronjob angesteuert werden:

```
<?php
# Dieses Beispiel ist noch nicht funktionstüchtig.
#
#$art_sql = rex_sql::factory();
#$art_sql->setTable($search_it->tablePrefix.'article');
#if($art_sql->select('id,clang_id')){
# foreach($art_sql->getArray() as $art){
# $search_it->indexArticle($art['id'], $art['clang_id']);
# }
#}
?>
```

### Für Addons

Ein Addon arbeitet mit einer eigenen Datenbank-Tabelle, hier: `table`. Search it soll Inhalte dieses Addons auch automatisch reindexieren. Da das Addon selbst weiß, wann die Beispieldatenbank-Feld `field` reindexiert werden soll, kann die Methode `indexColumn` von diesem Addon aufgerufen werden:

```
$search_it = new search_it;
$search_it->indexColumn('table', 'field', 'id'[, $datensatz_id]);
$search_it->indexColumn('table', 'field'[, 'id'[, $datensatz_id]]);
```

Die Methode `indexColumn` benötigt also 4 Parameter:
Die Methode `indexColumn` benötigt daher folgende Parameter:
* Die Namen der Datenbanktabelle (hier: `table`) und
* das Datenbank-Feld (hier: `field`),
* der Primärschlüssel (hier: `id`) und
* optional die ID des Datensatzes, der reindexiert wird.
* optional der Primärschlüssel (Standard: `id`) und
* optional die ID des Datensatzes, der reindexiert wird (Standard: alle).
6 changes: 3 additions & 3 deletions plugins/documentation/docs/de_de/main_navi.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,11 @@
- [Weitere Beispiele](module-more_enhanced.md) (in Arbeit)
- FAQ
- [Sprachabhängige Suche](howto-languages.md)
- [De- und Reindexierung](howto-reindex.md)
- [Ähnlichkeitssuche](howto-simsearch.md)
- [De- und Reindexierung](howto-reindex.md) (in Arbeit)
- [Ähnlichkeitssuche](howto-simsearch.md) (in Arbeit)
- [Highlighting](howto-highlighting.md)
- [Auf Kategorien beschränken](howto-categories.md)
- [Paginierung](howto-pagination.md) (in Arbeit)
- [Paginierung](howto-pagination.md) (in Arbeit)

---

Expand Down
27 changes: 17 additions & 10 deletions plugins/documentation/docs/de_de/search_it-intro.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
# Über Search it

Search it ist ein Redaxo 5-Addon für eine Volltextsuche im Frontend.
`Search it` ist ein Redaxo 5-Addon für eine Volltextsuche im Frontend.

Dabei werden Artikel, Medien, Dateien, PDF-Inhalte und Datenbank-Felder in einer DB-Tabelle des Addons gespeichert und ausgewertet. Suchanfragen können außerdem in einer Cache-Tabelle gespeichert werden. Das spart Serverrechenleistung und führt zur schnelleren Anzeige von Suchergebnissen.

Search it basiert auf [RexSearch (Xong) für Redaxo 4](https://github.com/xong/rexsearch/).
`Search it` basiert auf [RexSearch (Xong) für Redaxo 4](https://github.com/xong/rexsearch/).

## Systemvoraussetzungen

Expand All @@ -14,25 +14,32 @@ Search it basiert auf [RexSearch (Xong) für Redaxo 4](https://github.com/xong/r

## Plugins

* `Statistik`: Liefert Informationen zur Search it-Datenbank und zu den häufigsten Suchanfragen.
* `Plaintext`: Reduziert Artikel auf reinen Text und entfernt dabei alle HTML-Tags.
* `Statistik`: Liefert Informationen zur `Search it`-Datenbank und zu den häufigsten Suchanfragen.
* `Dokumentation`: Zeigt diese Dokumentation an.

> Hinweis: Die Plugins `Reindex` und `Search Highlighter` aus RexSearch für Redaxo 4 wurden in Seach it integriert.
> Hinweis: Die Plugins `Reindex` und `Search Highlighter` aus `RexSearch für Redaxo 4` wurden in `Seach it` integriert.
## First Steps

* Installation des aktuellen Release über GitHub oder den Redaxo Installer
* `Search it`-Addon und Plugins aktivieren
* Einstellungen von `Search it` festlegen [(Hilfe)](search_it-settings.md)
* Indexierung starten
* Suchergebnis-Artikel anlegen
* Suchfeld-Modul / Suchfeld-Template hinzufügen [(Hilfe)](module-form.md)
* Suchergebnis-Modul hinzufügen [(Hilfe)](module-simple.md)

## Wo finde ich weitere Hilfe?

Die aktuelle Search it-Version wird in [GitHub von tyrant88](https://github.com/tyrant88/search_it) gepflegt. Dort können Fragen gestellt und Bugs gemeldet werden (Issues). Fragen können auch im [Redaxo Forum](www.redaxo.org/de/forum/) oder im [Redaxo-Channel auf Slack](https://friendsofredaxo.slack.com/messages/redaxo/) gestellt werden.

# Installation
# Hinweis zur Installation

Die Installation erfolgt über den Redaxo 5 Installer, alternativ gibt es die aktuellste Beta-Version auf [GitHub](https://github.com/tyrant88/search_it).

Bei der Installation werden fünf Datenbanktabellen angelegt:
* `rex_search_it_index` für die Indexierung von Artikeln und DB-Spalten
* `rex_search_it_keywords` für die Ähnlichkeitssuche
* `rex_search_it_cache` und `rex_search_it_cacheindex_ids` für den Suchcache
* `rex_search_it_stats_searchterms` für die Statistik

## First Steps

Nach der Installation sollten zunächst die Einstellungen vorgenommen werden und anschließend der Index vollständig generiert werden.
* `rex_search_it_stats_searchterms` für die Statistik

0 comments on commit 29e3f59

Please sign in to comment.