Различия
Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
system:elasticsearch [2017/09/15 23:41] – [Документация/Статьи] mirocow | system:elasticsearch [2019/07/15 19:12] (текущий) – [Примеры] mirocow | ||
---|---|---|---|
Строка 3: | Строка 3: | ||
====== Elasticsearch - поисковая система ====== | ====== Elasticsearch - поисковая система ====== | ||
- | ===== Устанока ===== | + | ===== Документация |
- | **nano ~/ | + | |
- | <code bash> | + | |
- | #!/usr/bin/sh | + | * https://www.elastic.co/guide/ |
+ | ===== Установка ===== | ||
- | VERSION=2.4.0 | + | * [[: |
+ | * [[: | ||
- | apt-get install openjdk-8-jdk | ||
- | rm / | ||
- | ln -s / | ||
- | |||
- | export JAVA_HOME=/ | ||
- | export PATH=$JAVA_HOME/ | ||
- | |||
- | if [ ! -f elasticsearch-$VERSION.deb ]; then | ||
- | wget https:// | ||
- | fi | ||
- | |||
- | sudo dpkg -i elasticsearch-$VERSION.deb | ||
- | |||
- | # be sure you add " | ||
- | |||
- | # start script | ||
- | sudo / | ||
- | |||
- | if [ -f / | ||
- | rm / | ||
- | fi | ||
- | |||
- | sudo ln -s / | ||
- | |||
- | # ------------------------------------------------------------------------------------ | ||
- | |||
- | # if you want to remove it: | ||
- | #sudo dpkg -r elasticsearch | ||
- | |||
- | # binaries & plugin | ||
- | #/ | ||
- | |||
- | # log dir | ||
- | #/ | ||
- | |||
- | # data dir | ||
- | #/ | ||
- | |||
- | # config dir | ||
- | #/ | ||
- | |||
- | # prepare ElasticSearch UI | ||
- | #sudo apt-get install apache2 | ||
- | #sudo mkdir /var/www/ui | ||
- | #sudo chown -R ubuntu.www-data /var/www | ||
- | # now copy ES-HEAD to /var/www/ui | ||
- | </ | ||
==== Установка и настройка Elasticsearch ==== | ==== Установка и настройка Elasticsearch ==== | ||
Строка 73: | Строка 28: | ||
<note important> | <note important> | ||
- | [[https:// | + | nano /etc/ |
- | + | < | |
+ | -Xms2g | ||
+ | -Xmx2g | ||
+ | </ | ||
===== Проверка работоспособности сервера ===== | ===== Проверка работоспособности сервера ===== | ||
Строка 89: | Строка 46: | ||
</ | </ | ||
- | ===== Создание дампа / Dump create | + | ===== Статьи / Документация / Примеры индексов / Примеры запросов |
- | * English: https:// | + | ==== Документация ==== |
- | <note important> | + | === Уроки |
- | nano /usr/local/etc/ | + | * [[https://codedzen.ru/elasticsearch-vvedeniye-1-1-osnovnyye-ponyatiya|Elasticsearch Введение — 1.1 Основные понятия]] |
- | <code bash> | + | * [[https:// |
- | path.repo: ["/usr/local/var/ | + | * [[https:// |
- | </code> | + | * [[https:// |
- | </note> | + | * [[https:// |
+ | * [[https://codedzen.ru/elasticsearch-urok-3-2-raznitsa-mezhdu-polnotekstov/ | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
- | ==== Регистрация ==== | + | === Статьи / Дискуссии === |
+ | * [[system: | ||
+ | * [[system: | ||
+ | * [[system: | ||
+ | * https:// | ||
+ | * https:// | ||
+ | * https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
- | <code bash> | ||
- | $ curl -XPUT ' | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | } | ||
- | }' | ||
- | </ | ||
- | |||
- | * где: | ||
- | * backup - название репозитория | ||
- | * / | ||
- | |||
- | ==== Проверка регистрации ==== | ||
- | |||
- | <code bash> | ||
- | $ curl -XGET " | ||
- | </ | ||
- | |||
- | ответ от elasticsearch | ||
- | <code json> | ||
- | { | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | } | ||
- | } | ||
- | } | ||
- | </ | ||
- | |||
- | ==== Проверка целостности ==== | ||
- | |||
- | <code bash> | ||
- | $ curl -XPOST " | ||
- | </ | ||
- | |||
- | ответ от elasticsearch | ||
- | <code json> | ||
- | {" | ||
- | </ | ||
- | |||
- | ==== Создание snapshot / Backup ==== | ||
- | |||
- | <code bash> | ||
- | $ curl -XPUT " | ||
- | </ | ||
- | |||
- | Где my_index является существующим индексом. | ||
- | |||
- | Проверить наличие инднеса можно командой | ||
- | <code bash> | ||
- | $ curl --silent -XGET " | ||
- | </ | ||
- | |||
- | ==== Удаление регистрации репозитория ==== | ||
- | |||
- | <code bash> | ||
- | $ curl -XDELETE ' | ||
- | </ | ||
- | |||
- | ===== Восстановление / Restore ===== | ||
- | |||
- | * English: https:// | ||
- | |||
- | |||
- | ==== Настройка ==== | ||
- | |||
- | Если ранее небыл зарегистрирован. | ||
- | |||
- | <code bash> | ||
- | $ curl -XPUT ' | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | } | ||
- | }' | ||
- | </ | ||
- | |||
- | * где: | ||
- | * backup - название репозитория | ||
- | * / | ||
- | |||
- | ==== Проверка ==== | ||
- | |||
- | <code bash> | ||
- | $ curl -XPOST http:// | ||
- | </ | ||
- | |||
- | ==== Восстановление ==== | ||
- | |||
- | <code bash> | ||
- | $ curl -XPOST http:// | ||
- | </ | ||
- | |||
- | ===== Запрос поиска ===== | ||
- | |||
- | ==== Способы запроса ==== | ||
- | |||
- | * [[system: | ||
- | |||
- | === GET === | ||
- | |||
- | |||
- | Вывод всех документов из индекса | ||
- | |||
- | <code bash> | ||
- | $ curl -XGET ' | ||
- | </ | ||
- | |||
- | === REST === | ||
- | |||
- | |||
- | Вывод всех документов из индекса | ||
- | |||
- | <code bash> | ||
- | $ curl -XPOST ' | ||
- | { | ||
- | " | ||
- | }' | ||
- | </ | ||
- | |||
- | == Доступные параметры для REST запросов == | ||
- | |||
- | |||
- | <code bash> | ||
- | $ curl -XPOST ' | ||
- | { | ||
- | " | ||
- | " | ||
- | }' | ||
- | </ | ||
- | |||
- | <code bash> | ||
- | $ curl -XPOST ' | ||
- | { | ||
- | " | ||
- | " | ||
- | }' | ||
- | |||
- | $ curl -XPOST ' | ||
- | { | ||
- | " | ||
- | " | ||
- | }' | ||
- | |||
- | $ curl -XPOST ' | ||
- | { | ||
- | " | ||
- | " | ||
- | " | ||
- | { " | ||
- | ], | ||
- | " | ||
- | { " | ||
- | ] | ||
- | } | ||
- | } | ||
- | }' | ||
- | </ | ||
- | |||
- | === Поиск по регулярным выражениям === | ||
- | |||
- | <code bash> | ||
- | $ curl -XGET ' | ||
- | " | ||
- | " | ||
- | " | ||
- | { | ||
- | " | ||
- | " | ||
- | } | ||
- | }, | ||
- | { | ||
- | " | ||
- | " | ||
- | } | ||
- | } | ||
- | ], | ||
- | " | ||
- | " | ||
- | " | ||
- | } | ||
- | } | ||
- | } | ||
- | } | ||
- | }' | ||
- | </ | ||
- | |||
- | [[https:// | ||
- | ==== Примеры запросов / Query DSL ==== | ||
- | |||
- | <code bash> | ||
- | $ curl -XGET http:// | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | { | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | } | ||
- | } | ||
- | } | ||
- | }, | ||
- | { | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | } | ||
- | } | ||
- | } | ||
- | } | ||
- | ] | ||
- | } | ||
- | } | ||
- | }' | ||
- | </ | ||
- | |||
- | * где: | ||
- | * 1vse - название БД | ||
- | * product.title - название таблицы | ||
- | |||
- | |||
- | |||
- | ===== Создание индексов ===== | ||
- | |||
- | Данная операция создаст инжекс test | ||
- | |||
- | <code bash> | ||
- | $ curl -XPUT " | ||
- | { | ||
- | " | ||
- | } | ||
- | </ | ||
- | |||
- | === Получить список созданых индексов === | ||
- | |||
- | <code bash> | ||
- | $ curl --silent -XGET " | ||
- | </ | ||
- | |||
- | ответ от elasticsearch | ||
- | <code bash> | ||
- | yellow open 1vse 5 1 147785 0 197.3mb 197.3mb | ||
- | yellow open 1vse_logs 5 1 439914 0 | ||
- | </ | ||
- | |||
- | <code bash> | ||
- | $ curl --silent -XGET " | ||
- | </ | ||
- | |||
- | ответ от elasticsearch | ||
- | <code bash> | ||
- | health status index pri rep docs.count docs.deleted store.size pri.store.size | ||
- | yellow open | ||
- | yellow open | ||
- | </ | ||
- | |||
- | ==== Фильтры ==== | ||
- | |||
- | === Фильтр worddelimiter === | ||
- | |||
- | Фильтр worddelimiter разбивает слова на несколько частей. Небольшой пример: | ||
- | |||
- | Примеры: | ||
- | <code json> | ||
- | </ | ||
- | |||
- | === Фильтр stopwords === | ||
- | |||
- | Фильтр stopwords состоит из списка слов запрещенных к индексированию. Например он исключает такие слова, как “and”, “a”, “the”, “to” и т.д. Конечно этот список уникален для каждого языка, но существует довольно много заготовок, | ||
- | |||
- | Примеры: | ||
- | <code json> | ||
- | </ | ||
- | |||
- | === Фильтр snowball === | ||
- | |||
- | Фильтр snowball используется для группировки слов по их основе. Фильтр применяет набор правил для правильного определения основы слова. Это означает, | ||
- | |||
- | Примеры: | ||
- | <code json> | ||
- | </ | ||
- | |||
- | === Фильтр elison === | ||
- | |||
- | Фильтр elison имеет большее значения для некоторых языков (например французский) и не так важен для других (например английский). Он исключает маловажные слова перед индексированием, | ||
- | |||
- | Примеры: | ||
- | <code json> | ||
- | </ | ||
- | |||
- | === Фильтр lowercase === | ||
- | |||
- | |||
- | === Фильтр asciifolding === | ||
- | |||
- | Заменяет все Unicode символы, | ||
- | |||
- | === Лексеры === | ||
- | |||
- | == nGram == | ||
- | |||
- | Роль лексера nGram очень высока. Например, | ||
- | |||
- | == Пример 1 == | ||
- | |||
- | " | ||
- | " | ||
- | |||
- | Результат: | ||
- | fu, fun, un, unn, nn, nny, po, pon, on, ony, ny | ||
- | 2-ой пример с лучшей настройкой: | ||
- | |||
- | == Пример 2 == | ||
- | |||
- | " | ||
- | " | ||
- | | ||
- | Результат: | ||
- | fun, funn, funny, unn, unny, nny, pon, pony, ony | ||
- | |||
- | |||
- | ==== Анализаторы ==== | ||
- | |||
- | По умолчанию в Eldsticseach включен регистрозависимый анализатор поиска. Для его отключения используем ниже следующие настройки в конфигурационом файле elasticsearch.yml | ||
- | |||
- | <code json> | ||
- | settings: | ||
- | index: | ||
- | analysis: | ||
- | analyzer: | ||
- | string_lowercase: | ||
- | tokenizer: keyword | ||
- | filter: lowercase | ||
- | </ | ||
- | ==== Мапинг ==== | ||
- | |||
- | <code bash> | ||
- | $ curl -XGET " | ||
- | </ | ||
- | |||
- | ==== Примеры индексов ==== | ||
- | |||
- | <code yaml> | ||
- | settings: | ||
- | index: | ||
- | analysis: | ||
- | analyzer: | ||
- | app_analyzer: | ||
- | type: custom | ||
- | tokenizer: nGram | ||
- | filter | ||
- | app_search_analyzer: | ||
- | type: custom | ||
- | tokenizer: standard | ||
- | filter | ||
- | tokenizer: | ||
- | nGram: | ||
- | type: " | ||
- | min_gram: 2 | ||
- | max_gram: 20 | ||
- | filter: | ||
- | snowball: | ||
- | type: | ||
- | language: English | ||
- | app_ngram: | ||
- | type: " | ||
- | min_gram: 2 | ||
- | max_gram: 20 | ||
- | worddelimiter : | ||
- | type: word_delimiter | ||
- | stopwords: | ||
- | | ||
- | | ||
- | | ||
- | </ | ||
- | |||
- | * https:// | ||
- | |||
- | ===== Работа с документом ===== | ||
- | |||
- | ==== Подокументно ==== | ||
- | |||
- | === Получение документа === | ||
- | |||
- | <code bash> | ||
- | $ curl -XGET " | ||
- | </ | ||
- | |||
- | ответ от elasticsearch | ||
- | <code json> | ||
- | { | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | { | ||
- | " | ||
- | " | ||
- | " | ||
- | } | ||
- | } | ||
- | } | ||
- | </ | ||
- | |||
- | === Добавление документа / Заполенение индекса === | ||
- | |||
- | <code bash> | ||
- | $ curl -XPUT " | ||
- | { | ||
- | " | ||
- | }' | ||
- | </ | ||
- | |||
- | ответ от elasticsearch | ||
- | <code json> | ||
- | { | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | } | ||
- | </ | ||
- | |||
- | === Обновление документа === | ||
- | |||
- | <code bash> | ||
- | $ curl -XPOST " | ||
- | { | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | } | ||
- | }' | ||
- | </ | ||
- | |||
- | ответ от elasticsearch | ||
- | <code json> | ||
- | { | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | } | ||
- | </ | ||
- | |||
- | === Частичное обновление документа === | ||
- | |||
- | <code bash> | ||
- | $ curl -XPUT " | ||
- | { | ||
- | " | ||
- | " | ||
- | " | ||
- | } | ||
- | } | ||
- | }' | ||
- | </ | ||
- | |||
- | ответ от elasticsearch | ||
- | <code json> | ||
- | { | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | } | ||
- | </ | ||
- | |||
- | === Обновление документа с учетом параметров === | ||
- | |||
- | == > v 2.3 == | ||
- | |||
- | <code bash> | ||
- | $ curl -XPOST ' | ||
- | { | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | } | ||
- | }{ | ||
- | " | ||
- | " | ||
- | } | ||
- | }' | ||
- | </ | ||
- | |||
- | == v 2.3 > == | ||
- | |||
- | <code bash> | ||
- | $ curl -XPOST ' | ||
- | { | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | { | ||
- | " | ||
- | " | ||
- | } | ||
- | }, | ||
- | { | ||
- | " | ||
- | " | ||
- | } | ||
- | } | ||
- | ] | ||
- | } | ||
- | } | ||
- | } | ||
- | }, | ||
- | " | ||
- | }' | ||
- | </ | ||
- | |||
- | === Получение документа из индекса по ID === | ||
- | |||
- | <code bash> | ||
- | $ curl -XGET " | ||
- | </ | ||
- | |||
- | ответ от elasticsearch | ||
- | <code json> | ||
- | { | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | { | ||
- | " | ||
- | } | ||
- | } | ||
- | </ | ||
- | |||
- | === Удаление документа из индекса === | ||
- | |||
- | Удаление по индексу | ||
- | |||
- | <code bash> | ||
- | $ curl -XDELETE ' | ||
- | </ | ||
- | |||
- | |||
- | Мы также имеем возможность удалить несколько документов совпавших с условием запроса. Данный пример показывает как удалить все документы из индекса customers, содержащие «John»: | ||
- | |||
- | <code bash> | ||
- | $ curl -XDELETE ' | ||
- | { | ||
- | " | ||
- | }' | ||
- | </ | ||
- | |||
- | ==== Работа с частичными данными документа ==== | ||
- | |||
- | === Настройки elasticsearch.yml === | ||
- | |||
- | script.update: | ||
- | script.mapping: | ||
- | script.engine.groovy.file.aggs: | ||
- | script.engine.groovy.file.mapping: | ||
- | script.engine.groovy.file.search: | ||
- | script.engine.groovy.file.update: | ||
- | script.engine.groovy.file.plugin: | ||
- | script.engine.groovy.indexed.aggs: | ||
- | script.engine.groovy.indexed.mapping: | ||
- | script.engine.groovy.indexed.search: | ||
- | script.engine.groovy.indexed.update: | ||
- | script.engine.groovy.indexed.plugin: | ||
- | script.engine.groovy.inline.aggs: | ||
- | script.engine.groovy.inline.mapping: | ||
- | script.engine.groovy.inline.search: | ||
- | script.engine.groovy.inline.update: | ||
- | script.engine.groovy.inline.plugin: | ||
- | |||
- | === Создание массива === | ||
- | |||
- | <code bash> | ||
- | $ curl -s -XPOST ' | ||
- | " | ||
- | }' | ||
- | </ | ||
- | |||
- | === Добавление в массив === | ||
- | |||
- | <code bash> | ||
- | $ curl -XPOST ' | ||
- | " | ||
- | " | ||
- | " | ||
- | } | ||
- | }' | ||
- | </ | ||
- | |||
- | === Удаление из массива === | ||
- | |||
- | <code bash> | ||
- | $ curl -s -XPOST ' | ||
- | " | ||
- | " | ||
- | " | ||
- | } | ||
- | }' | ||
- | </ | ||
- | |||
- | * https:// | ||
- | * https:// | ||
- | * https:// | ||
- | |||
- | |||
- | |||
- | ==== Пакетная обработка документов ==== | ||
- | |||
- | <code bash> | ||
- | $ curl -XPOST ' | ||
- | {" | ||
- | {" | ||
- | {" | ||
- | {" | ||
- | </ | ||
- | |||
- | Данный пример обновляет первый документ (с ID равным 1) и затем удаляет второй документ (с ID равным 2) в одной массовой операции: | ||
- | |||
- | <code bash> | ||
- | $ curl -XPOST ' | ||
- | {" | ||
- | {" | ||
- | {" | ||
- | </ | ||
- | |||
- | === Параметры выдачи === | ||
- | |||
- | * _source - | ||
- | * _score - Оценка - это числовое значение, | ||
- | |||
- | ==== Агрегация ==== | ||
- | |||
- | ==== Плагины / Plugins ==== | ||
- | |||
- | |||
- | * [[system: | ||
- | |||
- | ===== Ошибки / Errors ===== | ||
- | |||
- | * snapshot_missing_exception: | ||
- | * SnapshotMissingException: | ||
- | * Data too large, data for [@timestamp] would be larger than limit <code bash> | ||
- | $ curl -XPOST ' | ||
- | </ | ||
- | |||
- | |||
- | ===== _search ===== | ||
- | |||
- | <code json> | ||
- | { | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | } | ||
- | } | ||
- | } | ||
- | } | ||
- | </ | ||
- | |||
- | <code json> | ||
- | { | ||
- | " | ||
- | " | ||
- | " | ||
- | } | ||
- | } | ||
- | } | ||
- | </ | ||
- | |||
- | <code json> | ||
- | { | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | } | ||
- | } | ||
- | } | ||
- | } | ||
- | </ | ||
- | |||
- | <code json> | ||
- | { | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | } | ||
- | } | ||
- | } | ||
- | } | ||
- | </ | ||
- | |||
- | <code json> | ||
- | { | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | } | ||
- | } | ||
- | } | ||
- | </ | ||
- | |||
- | <code json> | ||
- | { | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | } | ||
- | } | ||
- | } | ||
- | } | ||
- | </ | ||
- | |||
- | <code json> | ||
- | { | ||
- | " | ||
- | " | ||
- | " | ||
- | } | ||
- | } | ||
- | } | ||
- | </ | ||
- | |||
- | <code json> | ||
- | { | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | } | ||
- | } | ||
- | } | ||
- | } | ||
- | </ | ||
- | |||
- | <code json> | ||
- | { | ||
- | " | ||
- | " | ||
- | " | ||
- | { | ||
- | " | ||
- | " | ||
- | } | ||
- | } | ||
- | ], | ||
- | " | ||
- | { | ||
- | " | ||
- | " | ||
- | } | ||
- | } | ||
- | ], | ||
- | " | ||
- | { | ||
- | " | ||
- | " | ||
- | } | ||
- | } | ||
- | ] | ||
- | } | ||
- | }, | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | } | ||
- | } | ||
- | }, | ||
- | " | ||
- | " | ||
- | "< | ||
- | ], | ||
- | " | ||
- | "</ | ||
- | ], | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | }, | ||
- | " | ||
- | } | ||
- | }, | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | ], | ||
- | " | ||
- | { | ||
- | " | ||
- | " | ||
- | } | ||
- | } | ||
- | ] | ||
- | } | ||
- | </ | ||
- | |||
- | <code json> | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | } | ||
- | </ | ||
- | |||
- | <code json> | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | } | ||
- | </ | ||
- | |||
- | <code json> | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | } | ||
- | } | ||
- | </ | ||
- | |||
- | <code json> | ||
- | { | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | } | ||
- | } | ||
- | } | ||
- | </ | ||
- | ===== Клиенты ===== | ||
- | * [[https:// | + | ==== Индексы ==== |
- | * https:// | + | |
- | * https:// | + | |
- | * https:// | + | |
- | * https:// | + | |
- | * https:// | + | |
+ | * [[system: | ||
- | === Yii2 === | + | ==== Запросы ==== |
- | * https://github.com/yiisoft/yii2-elasticsearch | + | * https://www.found.no/play/# |
- | ==== Дискусии/ | ||
- | * https:// | + | ==== Примеры |
- | * https:// | + | |
- | ==== Обсуждения ==== | + | * [[system: |
+ | * [[system: | ||
+ | * [[system: | ||
+ | * [[system: | ||
+ | * [[system: | ||
+ | * [[system: | ||
+ | * [[system: | ||
- | * https:// | ||
- | ==== Документация/ | + | ==== Библиотеки ==== |
- | * [[http://filepi.com/i/23Us5ws|Elasticsearch in Action.pdf]] | + | * https://github.com/dadoonet/fscrawler |
- | * http:// | + | * https://github.com/elastic/ |
- | * https://www.elastic.co/ | + | * https:// |
- | * http:// | + | |
- | * https:// | + | |
- | * https:// | + | |
- | * https:// | + | |
- | * https:// | + | |
- | * [[http:// | + | |
- | * [[http:// | + | |
- | * http:// | + | |
- | * http:// | + | |
- | * https://groups.google.com/forum/# | + | |
- | * http:// | + | |
- | * http:// | + | |
- | * https:// | + | |
- | * http:// | + | |
- | * [[https:// | + | |
- | * [[https:// | + | |
- | * [[https:// | + | |
- | * вжhttps:// | + | |
- | * [[https:// | + | |
- | * [[https:// | + | |
- | * https:// | + | |
- | * [[https:// | + | |
- | * [[https:// | + | |
- | * [[https:// | + | |
- | === Autocomplete / Shingles | + | === Расширения для Frameworks |
- | * http:// | + | == Yii2 framework |
- | * https:// | + | |
- | * [[https:// | + | |
- | * https:// | + | |
- | * https:// | + | |
- | * https:// | + | |
- | * http:// | + | |
- | * https:// | + | |
- | * https:// | + | |
- | * http:// | + | |
- | ==== Видео | + | |
- | * https://www.youtube.com/channel/UCUaTRF8LDgE6rQoduLWsErA/ | + | * https://github.com/Mirocow/yii2-elasticsearch |
- | * https://www.youtube.com/watch? | + | * https://github.com/Mirocow/yii2-elasticsearch-log |
- | * https:// | + | * https://github.com/Mirocow/yii2-elasticsearch-debug |
- | * https:// | + | |
- | * https://www.youtube.com/watch? | + | |
- | * https:// | + | |
- | * https:// | + | |
- | * https:// | + | |
- | * https:// | + | |
- | * https:// | + | |
- | ==== Презентации ==== | + | == PHP == |
- | * http://www.slideshare.net/OmskIT/20130202-03-elasticsearch | + | * https://github.com/ |
+ | * https:// | ||
+ | ==== Программное обеспечение ==== | ||
+ | * [[system: | ||
+ | * [[system: | ||
+ | * **Beats** | ||
+ | * [[system: | ||
+ | * [[system: | ||
+ | * [[system: | ||
+ | * [[system: | ||
+ | * [[system: | ||
+ | * [[system: | ||