Привет, разработчики!
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.03.2023 14:01
Веб-скрейпинг, как мы все знаем, это дисциплина, которая развивается с течением времени. Появляются все более сложные средства борьбы с ботами, а также новые инструменты веб-скраппинга с открытым исходным кодом для их обхода.
20.03.2023 12:24
Чтобы запустить этот код и рассчитать CGPA, необходимо сохранить код как HTML-файл, а затем открыть его в веб-браузере. Для этого выполните следующие действия:
20.03.2023 11:15
О тренинге HTML JavaScript :HTML (язык гипертекстовой разметки) и CSS (каскадные таблицы стилей) - две основные технологии для создания веб-страниц. HTML обеспечивает структуру страницы CSS (визуальное и звуковое) оформление для различных устройств. Наряду с графикой и сценариями HTML и CSS являются...
20.03.2023 08:46
Вам когда-нибудь требовалось собрать/развернуть только часть вашего приложения Angular или, возможно, скрыть некоторые маршруты в определенных средах?
19.03.2023 13:43
Установщик веб-платформы, предлагаемый компанией Microsoft, перестанет работать 31 декабря 2022 года. Его закрытие привело к тому, что мы не можем запускать наши php-файлы через localhost на наших компьютерах. Мне с трудом удалось установить его и я решил поделиться этой статьей, чтобы помочь тем,...
19.03.2023 13:03
При использовании компонентов React в сочетании с Context вы можете оптимизировать рендеринг, обернув ваш компонент React в React.memo сразу после поставщика контекста. Это позволит избежать ненужных повторных рендеров.