Files
Baradb/docs/de/fts.md
T
dimgigov c95bc4cd44
CI / test (push) Has been cancelled
CI / verify (push) Has been cancelled
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.
2026-05-17 16:29:28 +03:00

1.8 KiB

Volltextsuchmaschine

Invertierter Index mit BM25 und TF-IDF-Ranking für Textsuche.

Verwendung

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:

let bm25 = idx.searchBM25("query terms")

TF-IDF

Term Frequency-Inverse Document Frequency:

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:

-- 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

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