Elasticsearch — это мощная система поиска и аналитики, которая позволяет хранить, искать и анализировать большие объемы данных в режиме реального времени. В этой статье мы рассмотрим, как использовать API локального хоста Elasticsearch, уделяя особое внимание версии 1.7.2. Мы рассмотрим различные методы и предоставим примеры кода, которые помогут вам начать работу.
Метод 1. Индексирование документа
Индексирование — это процесс добавления документа в индекс Elasticsearch. Вот пример того, как индексировать документ с помощью Elasticsearch localhost API:
import requests
# Index a document
def index_document(index_name, document):
url = f"http://localhost:9200/{index_name}/_doc"
response = requests.post(url, json=document)
return response.json()
# Example usage
index_name = "my_index"
document = {
"title": "Example Document",
"content": "This is an example document."
}
response = index_document(index_name, document)
print(response)
Метод 2. Поиск документов
Поиск позволяет находить документы, соответствующие конкретному запросу. Следующий код демонстрирует, как выполнить поиск с помощью API локального хоста Elasticsearch:
import requests
# Search for documents
def search_documents(index_name, query):
url = f"http://localhost:9200/{index_name}/_search"
payload = {
"query": {
"match": {
"content": query
}
}
}
response = requests.get(url, json=payload)
return response.json()
# Example usage
index_name = "my_index"
query = "example"
response = search_documents(index_name, query)
print(response)
Способ 3: обновление документа
Elasticsearch позволяет обновлять существующие документы в индексе. Вот пример того, как обновить документ с помощью API локального хоста Elasticsearch:
import requests
# Update a document
def update_document(index_name, document_id, updated_fields):
url = f"http://localhost:9200/{index_name}/_doc/{document_id}/_update"
payload = {
"doc": updated_fields
}
response = requests.post(url, json=payload)
return response.json()
# Example usage
index_name = "my_index"
document_id = "1"
updated_fields = {
"content": "This is an updated document."
}
response = update_document(index_name, document_id, updated_fields)
print(response)
Метод 4. Удаление документа
Чтобы удалить документ из индекса, вы можете использовать операцию удаления. Вот пример того, как удалить документ с помощью API локального хоста Elasticsearch:
import requests
# Delete a document
def delete_document(index_name, document_id):
url = f"http://localhost:9200/{index_name}/_doc/{document_id}"
response = requests.delete(url)
return response.json()
# Example usage
index_name = "my_index"
document_id = "1"
response = delete_document(index_name, document_id)
print(response)
В этой статье мы рассмотрели несколько методов взаимодействия с API локального хоста Elasticsearch (версия 1.7.2). Мы предоставили примеры кода для индексации документов, поиска документов, обновления документов и удаления документов. Используя эти методы, вы можете использовать возможности Elasticsearch для создания надежных приложений для поиска и аналитики.