Python: ElasticSearch и Kibana

RedDeveloper
31.12.2022 19:08
Python: ElasticSearch и Kibana

Привет, разработчики!

Elastic Search обеспечивает поиск практически в реальном времени, поэтому для достижения лучшей производительности всегда лучше использовать Elastic Search, чем API GET. Elasticsearch быстро развивается, широко внедряется и широко используется. В этом разделе мы обсудим основы elasticsearch для интеграции в Python.🤷♂️

Что такое ElasticSearch? 🤔

Elasticsearch - это популярная поисковая система, которая обеспечивает масштабируемое поисковое решение, поиск в режиме, близком к реальному времени, и поддерживает многопользовательский режим.

Что такое ElasticSearch DSL? 🤔

Elasticsearch DSL - это высокоуровневая библиотека python для помощи в написании и выполнении запросов к Elasticsearch.

Более подробную информацию можно найти в документе .

Настройка и установка:🏗

Я создал docker-composer.yml ниже, чтобы настроить elasticsearch и Kibana внутри docker.🐳.

# I Love Docker.

version: "3.9"

x-wait-for-env: &wait-for-env
  - WAIT_HOSTS=elasticsearch:9200
  - WAIT_HOSTS_TIMEOUT=300
  - WAIT_SLEEP_INTERVAL=5
  - WAIT_HOST_CONNECT_TIMEOUT=5

x-depends-on: &depends-on
  - elasticsearch

services:
  elasticsearch:
    container_name: elasticsearch
    image: docker.elastic.co/elasticsearch/elasticsearch:8.5.3
    environment:
      - discovery.type=single-node
      - bootstrap.memory_lock=true
      - xpack.security.enabled=false
      - xpack.ml.enabled=false
    ulimits:
      memlock:
        soft: -1
        hard: -1
    ports:
      - "9200:9200"
    networks:
      - backend

  kibana:
    container_name: kb-container
    image: docker.elastic.co/kibana/kibana:8.5.3
    environment:
      - SERVER_NAME=kibana.localhost
      - ELASTICSEARCH_URL=http://localhost:9200
      - elasticsearch.ssl.verificationMode=none
    networks:
      - backend
    links:
      - elasticsearch
    depends_on: *depends-on
    ports:
      - 5601:5601


networks:
  backend:

Чтобы начать, выполните команду ниже.🪂

#Run the following command to build the instance::🏃

sudo docker-compose pull
sudo docker-compose build

#run
sudo docker-compose up --remove-orphans

Примечание: Kibana предназначена для визуализации данных Elasticsearch. Kibana занимает много памяти, поэтому вы также можете использовать нижеприведенное расширение chrome для визуализации данных elastic serach.😀

Примечание Kibana предназначена для визуализации данных Elasticsearch Kibana занимает

Установите Elasticserach DSL в свой проект:

elasticsearch==*
elasticsearch-dsl==*
from elasticsearch import Elasticsearch
from elasticsearch_dsl import Search, Q
client = Elasticsearch(hosts=[settings.ELASTIC_SEARCH_URL])
s.query = Q('bool', must=[Q('match', title='python'), Q('match', body='best')])

Примечание:Q ярлык для создания экземпляра по имени с параметрами.

Q('terms', guid=[_guid for _guid in _guids])

Терминология, связанная с эластичным поиском:

Мы подробно рассмотрим все нижеперечисленные термины в следующей статье.

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

Bool: Запрос, который подбирает документы, соответствующие булевым комбинациям других запросов.

Must: Пункт (запрос) должен присутствовать в соответствующем документе.

Filter: Пункт запроса будет проигнорирован.

Should : Пункт (запрос) должен присутствовать в документе.

Must_not: Пункт (запрос) не должен появляться в документах соответствия.

В следующей статье мы будем изучать ЭП больше.😁.

Так что следите за новостями, увидимся в следующей статье.😄

Веселитесь!

Вы всегда можете найти меня на Twitter 🐦.

Если у вас есть какие-либо дополнения к этому, вы можете оставить комментарий ниже, и если вам понравился этот пост, пожалуйста, хлопайте. 👏.

Инструменты для веб-скрапинга с открытым исходным кодом: Python Developer Toolkit
Инструменты для веб-скрапинга с открытым исходным кодом: Python Developer Toolkit

20.03.2023 14:01

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

Калькулятор CGPA 12 для семестра
Калькулятор CGPA 12 для семестра

20.03.2023 12:24

Чтобы запустить этот код и рассчитать CGPA, необходимо сохранить код как HTML-файл, а затем открыть его в веб-браузере. Для этого выполните следующие действия:

ONLBest Online HTML CSS JAVASCRIPT Training In INDIA 2023
ONLBest Online HTML CSS JAVASCRIPT Training In INDIA 2023

20.03.2023 11:15

О тренинге HTML JavaScript :HTML (язык гипертекстовой разметки) и CSS (каскадные таблицы стилей) - две основные технологии для создания веб-страниц. HTML обеспечивает структуру страницы CSS (визуальное и звуковое) оформление для различных устройств. Наряду с графикой и сценариями HTML и CSS являются...

Как собрать/развернуть часть вашего приложения Angular
Как собрать/развернуть часть вашего приложения Angular

20.03.2023 08:46

Вам когда-нибудь требовалось собрать/развернуть только часть вашего приложения Angular или, возможно, скрыть некоторые маршруты в определенных средах?

Запуск PHP на IIS без использования программы установки веб-платформы
Запуск PHP на IIS без использования программы установки веб-платформы

19.03.2023 13:43

Установщик веб-платформы, предлагаемый компанией Microsoft, перестанет работать 31 декабря 2022 года. Его закрытие привело к тому, что мы не можем запускать наши php-файлы через localhost на наших компьютерах. Мне с трудом удалось установить его и я решил поделиться этой статьей, чтобы помочь тем,...

Оптимизация React Context шаг за шагом в 4 примерах
Оптимизация React Context шаг за шагом в 4 примерах

19.03.2023 13:03

При использовании компонентов React в сочетании с Context вы можете оптимизировать рендеринг, обернув ваш компонент React в React.memo сразу после поставщика контекста. Это позволит избежать ненужных повторных рендеров.