docs: add multi-language documentation (ru, fa, zh, tr, ar)
This commit is contained in:
@@ -0,0 +1,62 @@
|
||||
# Полнотекстовый поиск
|
||||
|
||||
Инвертированный индекс с ранжированием BM25 и TF-IDF для текстового поиска.
|
||||
|
||||
## Использование
|
||||
|
||||
```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")
|
||||
|
||||
let results = idx.search("programming language")
|
||||
|
||||
let tfidf = idx.searchTfidf("programming language")
|
||||
|
||||
let fuzzy = idx.fuzzySearch("programing", maxDistance = 2)
|
||||
|
||||
let wild = idx.regexSearch("prog*")
|
||||
```
|
||||
|
||||
## Методы ранжирования
|
||||
|
||||
### BM25
|
||||
|
||||
```nim
|
||||
let bm25 = idx.searchBM25("query terms")
|
||||
```
|
||||
|
||||
### TF-IDF
|
||||
|
||||
```nim
|
||||
let tfidf = idx.searchTfidf("query terms")
|
||||
```
|
||||
|
||||
## Функции поиска
|
||||
|
||||
| Функция | Описание |
|
||||
|---------|---------|
|
||||
| Fuzzy search | Толерантность к опечаткам (расстояние Левенштейна) |
|
||||
| Wildcard | Префиксные, суффиксные и инфиксные подстановки |
|
||||
| Regex | Регулярные выражения |
|
||||
| Phrase search | Точное совпадение фразы |
|
||||
| Boolean | Операторы AND, OR, NOT |
|
||||
|
||||
## SQL интерфейс
|
||||
|
||||
```sql
|
||||
CREATE TABLE articles (id INT PRIMARY KEY, title TEXT, body TEXT);
|
||||
CREATE INDEX idx_fts ON articles(body) USING FTS;
|
||||
SELECT * FROM articles WHERE body @@ 'machine learning';
|
||||
```
|
||||
|
||||
## Многоязычная поддержка
|
||||
|
||||
```nim
|
||||
import barabadb/fts/multilang
|
||||
|
||||
var tokenizer = newTokenizer("bg")
|
||||
let tokens = tokenizer.tokenize("Търсене в пълен текст")
|
||||
```
|
||||
Reference in New Issue
Block a user