Elasticsearch - поисковая система
Проверка работоспособности сервера
curl -XGET http://localhost:9200/_nodes/?pretty
Snapshot / Dump
curl -XPUT 'http://localhost:9200/_snapshot/backup' -d '{ "type": "fs", "settings": { "location": "/usr/local/var/elasticsearch/snapshot", "compress": true } }'
- где:
- backup - название репозитория
- /usr/local/var/elasticsearch/snapshot - папка с содержанием самого репозитория
drwxrwxr-x 6 mirocow 204 ноя 30 23:41 ./ drwxr-xr-x 6 mirocow 204 ноя 30 23:34 ../ -rwxr-xr-x 1 mirocow 27 ноя 19 18:18 index* drwxr-xr-x 4 mirocow 136 ноя 19 18:17 indices/ -rwxr-xr-x 1 mirocow 61 ноя 19 18:17 metadata-dump* -rwxr-xr-x 1 mirocow 187 ноя 19 18:18 snapshot-dump*
Восстановление / Restore
Настройка
curl -XPUT 'http://localhost:9200/_snapshot/backup' -d '{ "type": "fs", "settings": { "location": "/usr/local/var/elasticsearch/snapshot", "compress": true } }'
- где:
- backup - название репозитория
- /usr/local/var/elasticsearch/snapshot - папка с содержанием самого репозитория
Проверка
curl -XPOST http://localhost:9200/_snapshot/backup/snapshot/_verify
Восстановление
curl -XPOST http://localhost:9200/_snapshot/backup/snapshot/_restore
Запрос поиска
curl -XGET http://localhost:9200/1vse/product/_search/ -d '{ "size": 10, "query": { "bool": { "should": [ { "function_score": { "weight": 100, "query": { "match": { "product.title": "samsung" } } } }, { "function_score": { "weight": 80, "query": { "match_phrase_prefix": { "product.title": "samsung" } } } } ] } } }'
- где:
- 1vse - название БД
- product.title - название таблицы
Ошибки / Errors
- snapshot_missing_exception:
{"type": "no_such_file_exception","reason/usr/local/var/elasticsearch/snapshot/snap-snapshot.dat"}
- SnapshotMissingException:
{"error":"SnapshotMissingException[[backup:snapshot] is missing]; nested: FileNotFoundException[/usr/local/var/elasticsearch/snapshot/snapshot-snapshot (No such file or directory)]; ","status":404}
snapshot не найден, так как дамп создавался с отличным названием снапшота от snapshot
Клиенты
- Elastica - PHP клиент