Skip to content

Latest commit

 

History

9 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

elastic-proximity-calculation

Для чего этот пакет

Данный пакет решает одну конкретную задачу - добиться от Elasticsearch комфортного поиска контекстной близости, если требуется искать числовые диапазоны рядом со словами на расстоянии. В Elasticsearch по умолчанию присутствуют инструменты для поиска по контекстной близости, но они не предоставляют возможности найти число в диапазоне [n-m] рядом с каким-либо словом. Данный пакет добывает из исходного индекса все документы, проходится по ним в цикле и генерирует рядом с каждым найденным в тексте числом окрестность окружающих его чисел и слов. Результат складывает в отдельный индекс(ы).

Первый запуск

При первом запуске требуется (необязательно) подготовить файл конфигурации (описание переменных находится внутри):

$ cp .env.example .env

Данный файл будет определять параметры по умолчанию, что позволяет запускать итоговый бинарник без дополнительных параметров. В случае, если файл создан не будет, потребуется передача всех необходимых аргументов через параметры в консоли.

Для сборки использовать:

$ go build -o ./bin/proximity

Для просмотра доступных параметров использовать:

$ ./bin/proximity -h
  -ELASTIC_ADDRESS string
        Адрес для подключения к Elasticsearch. (default "127.0.0.1")
  -ELASTIC_DEBUG_REQUESTS
        Параметр для активации логгера для каждого отдельного запроса в Elasticsearch.
  -ELASTIC_PASSWORD string
        Пароль для подключения к Elasticsearch.
  -ELASTIC_PORT string
        Порт для подключения к Elasticsearch. (default "9200")
  -ELASTIC_SCHEME string
        HTTP-схема для подключения к Elasticsearch. (default "http")
  -ELASTIC_USERNAME string
        Пользователь для подключения к Elasticsearch.
  -LOG_DIRECTORY string
        Папка для хранения логов. По умолчанию папка исполнения.
  -PROXIMITY_AMBIT int
        Размерность окрестности. (default 15)
  -SCROLL_KEEP_ALIVE int
        Срок жизни токена для Scroll API в минутах. (default 5)
  -SINGLE_PAGE_SIZE int
        Размер одной страницы для Scroll API. Данный параметр влияет на потребление CPU! (default 1000)
  -SOURCE_INDEX string
        Индекс источник.
  -TARGET_INDEX_PREFIX string
        Префикс для таргетного индекса.
  -UPLOAD_CHUNK_SIZE int
        Размерность буффера для хранения готовых для отправки окрестностей. Данный параметр влияет на потребление ОЗУ! (default 1000000)

About

Подсистема на GO для генерации окрестностей вокруг числа

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages