Подтвердить что ты не робот

Пример Angular и Elasticsearch

Я ищу рабочий пример AngularJS и Elasticsearch, работающих вместе с использованием новой официальной клиентской библиотеки: elasticsearch.angular.js , найденный в http://www.elasticsearch.org/blog/client-for-node-js-and-the-browser

До сих пор примеры, которые я нашел, используют альтернативные клиенты или больше не работают, потому что что-то изменилось между версиями. Это затрудняет запуск кого-то нового для AngularJS и Elasticsearch.

Чтобы быть конкретным, "Hello World" доступа к Elasticsearch через AngularJS с использованием официального клиента - это то, что я ищу.

У других, похоже, есть одна и та же проблема, так как существует открытая проблема, запрашивающая одно и то же в репо официального клиента. https://github.com/elasticsearch/elasticsearch-js/issues/19

4b9b3361

Ответ 1

Вот способ сделать "Hello World", объединяющий AngularJS и Elasticsearch

1) Убедитесь, что вы правильно установили elasticsearch на своем локальном компьютере, следуя инструкциям

2) Проверьте локальную установку elasticsearch
набрав в командной строке curl -XGET localhost:9200

3) Вставить некоторые тестовые данные в elasticsearch
Просто запустите каждую из команд в gist (щелкнув маленький зеленый треугольник рядом с каждым) или вы можете вставить данные вручную, введя в командной строке следующее:

curl -XPUT "http://localhost:9200/test_index/product/1" -d '{
  "title": "Product1",
  "description": "Product1 Description",
  "price": 100
}'

curl -XPUT "http://localhost:9200/test_index/product/2" -d '{
  "title": "Product2",
  "description": "Product2 Description",
  "price": 200
}'

4) Проверка получения данных из elasticsearch
curl -XGET localhost:9200/test_index/product/1

5) Загрузите angular.elasticsearch.js (или мини-версию) клиента и место он где-нибудь, где он доступен для вас Angular app (тот же каталог должен быть хорошим)

6) Загрузите и запустите следующий код
http://plnkr.co/edit/vfapGG

Вы также можете запустить этот Plunk прямо с сайта Plunkr http://plnkr.co/vfapGG, но это зависит от ваших настроек безопасности, поскольку для этого требуется доступ ваш новый сервер Elasticsearch в localhost:9200

Поздравляем!!
Теперь у вас есть работающий сервер Elasticsearch и внешний интерфейс AngularJS.

Внимание Перед тем, как приступать к производству, убедитесь, что ваш сервер Elasticsearch должным образом защищен, так как ANYONE с доступом к нему может легко ИЗМЕНИТЬ или УДАЛИТЬ ваши сохраненные данные и получить CONTROL (по сути, доступ к оболочке) компьютера, на котором запущен сервер Elasticsearch, если он не защищен должным образом.

Ответ 2

Если вы ищете прототип более продвинутого решения с AngularJS и Elasticsearch, я создал библиотеку ElasticUI (AngularJS Directives for Elasticsearch)

Он основывается на официальном клиенте и elastic.js, поэтому, если вы хотите увидеть, как начать с этого, исходный код для части, которая делает фактические запросы могут быть хорошей отправной точкой.

Ответ 3

John D, в то время как есть несколько других ответов, я хотел добавить, что теперь есть пример проекта, который предоставляет пример "привет мир", который вы искали.

https://github.com/spenceralger/elasticsearch-angular-example

Ответ 4

Я рекомендую вам изучить код, используемый для приложения Kibana, размещенного на веб-сайте ElasticSearch. Kibana использует Angular.js и библиотеку ES для загрузки и отображения своих панелей.

Источник Кибаны можно найти здесь:

https://github.com/elasticsearch/kibana

Это не пример "Hello World", но вы могли бы много узнать об использовании библиотеки у людей, которые помогли написать ее.

Ответ 5

Это очень хороший рабочий код для начала. Я не нашел другого учебника, подобного этому, который включает Elasticsearch, а также Angular.

Я столкнулся с проблемой при вставке тестовых данных для этого примера. У меня есть некоторое изучение Elasticsearch на машине Linux и удивлено, что оно не работает с двойной цитатой. Я не кодировал последние несколько лет, поэтому мне потребовалось некоторое время, чтобы выяснить проблему, и после долгого поиска я нашел это где-то. Я получил эту работу в командной строке Windows:

curl -XPUT "http://localhost:9200/test_index/product/1" -d "{\"title\": \"Product1\",\"description\": \"Product1 Description\",\"price\": 100}"