Различия
Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
system:elasticsearch [2017/09/03 20:24] – [Клиенты] 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> | + | |
- | " | + | |
- | " | + | |
- | " | + | |
- | " | + | |
- | " | + | |
- | } | + | |
- | } | + | |
- | </ | + | |
- | ===== Клиенты ===== | + | * [[system: |
- | * [[https:// | + | ==== Запросы ==== |
- | * https:// | + | |
- | * https:// | + | |
- | * https:// | + | |
- | * https:// | + | |
- | * https:// | + | |
+ | * https:// | ||
- | === Yii2 === | ||
- | * https:// | + | ==== Примеры ==== |
- | ==== Дискусии/ | + | * [[system: |
+ | * [[system: | ||
+ | * [[system: | ||
+ | * [[system: | ||
+ | * [[system: | ||
+ | * [[system: | ||
+ | * [[system: | ||
- | * https:// | ||
- | * 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: | ||