
Привет, разработчики!
Elastic Search обеспечивает поиск практически в реальном времени, поэтому для достижения лучшей производительности всегда лучше использовать Elastic Search, чем API GET. Elasticsearch быстро развивается, широко внедряется и широко используется. В этом разделе мы обсудим основы elasticsearch для интеграции в Python.🤷♂️
Elasticsearch - это популярная поисковая система, которая обеспечивает масштабируемое поисковое решение, поиск в режиме, близком к реальному времени, и поддерживает многопользовательский режим.
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.😀

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 🐦.
Если у вас есть какие-либо дополнения к этому, вы можете оставить комментарий ниже, и если вам понравился этот пост, пожалуйста, хлопайте. 👏.

20.08.2023 18:21
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в 2026-2027 годах? Или это полная лажа?".

20.08.2023 17:46
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.

19.08.2023 18:39
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в частности, магию поплавков и гибкость flexbox.
19.08.2023 17:22
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для чтения благодаря своей простоте. Кроме того, мы всегда хотим проверить самые последние возможности в наших проектах!

18.08.2023 20:33
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий их языку и культуре.

14.08.2023 14:49
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип предназначен для представления неделимого значения.