https://github.com/f1monkey/elasticsearch-ru-en-translit-plugin
https://github.com/f1monkey/elasticsearch-ru-en-translit-plugin
Last synced: 4 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/f1monkey/elasticsearch-ru-en-translit-plugin
- Owner: f1monkey
- Created: 2025-11-13T13:45:26.000Z (7 months ago)
- Default Branch: master
- Last Pushed: 2025-11-13T22:23:51.000Z (7 months ago)
- Last Synced: 2025-11-13T22:24:10.597Z (7 months ago)
- Language: Java
- Size: 54.7 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Elasticsearch RU-EN Phonetic Translit Plugin

**Phonetic transliteration filter** for Russian and English text.
Enables **sound-based search** across languages.
In example, this words will match
* **"extension"** / **"экстеншн"** / **"экстеншен"**
* **"daily"** / **"дейли"** / **"дэйли"**
* **"chlorophyll"** / **"хлорофилл"**
Perfect for:
- E-commerce product search
- Brand name matching
- Multilingual catalogs
- Fuzzy phonetic search
---
## Installation
* Run command
```bash
sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install https://github.com/f1monkey/elasticsearch-ru-en-translit-plugin/releases/download/v1.0.0/elasticsearch-ru-en-translit-plugin-1.0.0.zip
```
* Restart elasticsearch
## Usage
```json
PUT /my_index
{
"settings": {
"analysis": {
"analyzer": {
"my_analyzer": {
"tokenizer": "standard",
"filter": ["ru_en_translit"]
}
}
}
},
"mappings": {
"properties": {
"name": { "type": "text", "analyzer": "my_analyzer" }
}
}
}
POST /my_index/_analyze
{
"analyzer": "my_analyzer",
"text": "extension экстеншен экстеншон экстеншн"
}
```
Result:
```json
{
"tokens": [
{
"token": "ekstenshn",
"start_offset": 0,
"end_offset": 9,
"type": "",
"position": 0
},
{
"token": "ekstenshn",
"start_offset": 10,
"end_offset": 19,
"type": "",
"position": 1
},
{
"token": "ekstenshn",
"start_offset": 20,
"end_offset": 29,
"type": "",
"position": 2
},
{
"token": "ekstenshn",
"start_offset": 30,
"end_offset": 38,
"type": "",
"position": 3
}
]
}
```
## Build from Source
Pass elasticSearch version as a build argument
```bash
git clone https://github.com/f1moneky/elasticsearch-ru-en-translit-plugin.git
cd elasticsearch-ru-en-translit-plugin
./gradlew clean build -PesVersion=8.19.3
```
## Run tests
```bash
./gradlew test
```
## Licence
MIT