Российский Новый Университет
Опубликован: 25.01.2016 | Доступ: свободный | Студентов: 2234 / 161 | Длительность: 16:40:00
Лекция 15:

Перспективы использования Django

< Лекция 14 || Лекция 15: 123

Получение результатов поиска из индекса

Поиск индекса - довольно просто. Опять же, мы используем Python запросы, чтобы отправить закодированную JSON-строку с данными в нашу конечную точку ES:

data = {
"query" : {
"query_string": { "query": "raj" }
}
}
response = requests.post(
‘http://127.0.0.1:9200/contacts/contact/_search’,data=json.dumps(data))
 print response.json()

Это даст результат, показанный на следующей картинке:

В этом примере мы ищем термин "raj" в нашем индексе контактов. ES возвращает все попадания, сортированные по релевантности в JSON-формате. Каждое из этих попаданий содержит поле "_id", что дает вам первичный ключ соответствующей записи блога. С использованием Django ORM, теперь просто получить фактические объекты из базы данных.

Конечный поиск ES предлагает неограниченный набор вариантов и фильтров; быстрый поиск из огромных наборов данных, разбиение на страницы и все, что вам нужно для построения мощного поискового движка.

Это только верхушка айсберга. При построении приложения Django с Elasticsearch, вы узнаете много интересных особенностей, таких как агрегации, который могут быть использованы в предшествующем примере.

В этой лекции, мы узнали о двух важных компонентах, которые чаще всего используются в проектах Django, а именно, AngularJS и Elasticsearch.

Как базовый интерфейс, AngularJS не только снижает нагрузку с сервера, нажав логика визуализации в браузере, он также дает богатый опыт для пользователя при использовании AngularJS-powered приложения.

Elasticsearch, с другой стороны, является одним из наиболее популярных поисковых движков, который является также open source. Простота создания и масштабирования Elasticsearch является тем, что заставляет выбрать его, основываясь на любых требованиях к поисковым движкам. Вы так же немного узнали о Django. Когда начался курс, мы были уверены, что вам нужна помощь в изучении и вы станете экспертами в этой области. Это только начало; столько всего нужно еще изучить, чтобы стать экспертом в том, что описывалось в каждой главе. Мы подошли к концу курса. В этом курсе мы прошли процесс создания микроблогового приложений с нуля, с использованием Django в качестве основы. Мы охватили множество вопросов, связанных с Веб 2.0 и социальными приложениями, а также многие компоненты Django. Вы всегда можете обратиться к документации Django. Если вы хотите узнать больше о определенной функции или компоненте, посетите https://docs.djangoproject.com.

Послесловие

Совсем недавно вышел в свет Django 1.9. Из основных особенностей, появившихся в данной версии, можно отметить следующее:

  • Поддержка выполнения действий (сигналов) после коммита транзакции
  • Поддержка валидации паролей
  • Разрешено использовать mixins для представлений, основанных на классах
  • Новые стили для панели администратора
  • Поддержка параллельного выполнения тестов

Контрольные вопросы

  1. В каких случаях оправдано использование AngulasJS?
  2. Как можно организовать взаимодействие Django и ElasticSearch?
  3. Как можно настроить конфигурацию ElasticSearch вручную?
  4. Что такое директива?
  5. Что такое контроллер?

Упражнения

Упражнение 1.

Найдите в глоссарии ES определения параметров "shards" и "replicas"

Упражнение 2.

Внедрите полнотекстовый поиск в проект Django на рабочем сервере и убедитесь в его работоспособности

Упражнение 3.

Доработайте пример использования AngularJS, приведенный в лекции с тем, чтобы выдавалось имя пользователя, создавшего твит

Упражнение 4.

Постройте индекс для проекта приложения для твитов, созданного в данном курсе

Список тем рефератов

  • AngularJS
  • Обзор ElasticSearch
  • Полнотекстовый поиск для веб-проектов: сравнительный анализ инструментов
  • REST API как часть современного веба.
  • Асинхронная веб-разработка
  • Технология CORS и ее применение в современных браузерах
  • Обзор Django 1.9: новые возможности
  • Внедрение бизнес-логики при разработке веб-проектов
  • Веб-технологии для будущего
  • Веб 2.0, обзор.

Краткие итоги

  • Рассмотрели ElasticSearch
  • Ознакомились с преимуществами ElasticSearch
  • Рассмотрели особенности AngularJS
  • Ознакомились с AngularJS
  • Рассмотрели простейший пример использования AngularJS
  • Ознакомились с терминологией AngularJS
  • Установили сервер ElasticSearch
  • Создали индекс для полнотекстового поиска
  • Заполнили индекс первоначальными данными
  • Получили результаты поиска из индекса
< Лекция 14 || Лекция 15: 123
Константин Боталов
Константин Боталов

Вроде легкие вопросы и ответы знаю правильные, но система считает иначе и правильные ответысчитает неправильными. Приходится выполнть по несколько раз. Это я не правильно делаю или тест так составлен?

Владимир Филипенко
Владимир Филипенко

Листинг показывает в 4-ой лекции, что установлен Django 1.8.4. Тут же далее в этой лекции указаны настройки, которые воспринимает Django 1.7 и младше.