docs: synchronize documentation across all languages
- Add mcp.md to: bg, fa, ru, tr, zh, ar - Add index.md to Bulgarian (bg) - Add 24 missing German (de) documentation files Translations for all supported languages now complete.
This commit is contained in:
@@ -0,0 +1,87 @@
|
||||
# Volltextsuchmaschine
|
||||
|
||||
Invertierter Index mit BM25 und TF-IDF-Ranking für Textsuche.
|
||||
|
||||
## Verwendung
|
||||
|
||||
```nim
|
||||
import barabadb/fts/engine
|
||||
|
||||
var idx = newInvertedIndex()
|
||||
idx.addDocument(1, "Nim is a fast programming language")
|
||||
idx.addDocument(2, "Python is popular for data science")
|
||||
|
||||
# BM25-Suche
|
||||
let results = idx.search("programming language")
|
||||
|
||||
# TF-IDF-Suche
|
||||
let tfidf = idx.searchTfidf("programming language")
|
||||
|
||||
# Fuzzy-Suche (Tippfehlertoleranz)
|
||||
let fuzzy = idx.fuzzySearch("programing", maxDistance = 2)
|
||||
|
||||
# Platzhalter-Suche
|
||||
let wild = idx.regexSearch("prog*")
|
||||
```
|
||||
|
||||
## Ranking-Methoden
|
||||
|
||||
### BM25
|
||||
|
||||
Best-Matching-Ranking-Algorithmus:
|
||||
|
||||
```nim
|
||||
let bm25 = idx.searchBM25("query terms")
|
||||
```
|
||||
|
||||
### TF-IDF
|
||||
|
||||
Term Frequency-Inverse Document Frequency:
|
||||
|
||||
```nim
|
||||
let tfidf = idx.searchTfidf("query terms")
|
||||
```
|
||||
|
||||
## Suchfunktionen
|
||||
|
||||
| Funktion | Beschreibung |
|
||||
|---------|-------------|
|
||||
| Fuzzy-Suche | Levenshtein-Distanz-Toleranz |
|
||||
| Platzhalter | Präfix-, Suffix- und Infix-Platzhalter |
|
||||
| Regex | Reguläre Ausdrucksmuster |
|
||||
| Phrasensuche | Exakte Phrasenübereinstimmung |
|
||||
| Boolesch | AND, OR, NOT Operatoren |
|
||||
|
||||
## SQL-Schnittstelle
|
||||
|
||||
Volltextsuche ist auch direkt in BaraQL verfügbar:
|
||||
|
||||
```sql
|
||||
-- Tabelle mit Textspalte erstellen
|
||||
CREATE TABLE articles (id INT PRIMARY KEY, title TEXT, body TEXT);
|
||||
|
||||
-- FTS-Index erstellen
|
||||
CREATE INDEX idx_fts ON articles(body) USING FTS;
|
||||
|
||||
-- Suche mit dem @@ Operator (BM25-Ranking)
|
||||
SELECT * FROM articles WHERE body @@ 'machine learning';
|
||||
|
||||
-- Suche mit mehreren Begriffen
|
||||
SELECT * FROM articles WHERE body @@ 'quick brown fox';
|
||||
```
|
||||
|
||||
## Mehrsprachige Unterstützung
|
||||
|
||||
```nim
|
||||
import barabadb/fts/multilang
|
||||
|
||||
# Unterstützte Sprachen: EN, BG, DE, FR, RU
|
||||
var tokenizer = newTokenizer("de") # Deutsch
|
||||
let tokens = tokenizer.tokenize("Volltextsuche")
|
||||
```
|
||||
|
||||
Funktionen pro Sprache:
|
||||
- Tokenisierung
|
||||
- Stoppwörter
|
||||
- Stemming
|
||||
- Spracherkennung
|
||||
Reference in New Issue
Block a user