def wait_cluster_available(): auth_header = get_admin_auth_header() wait_elasticsearch(interval=5000, headers=auth_header) es_client = start() es_client.cluster.health( headers=auth_header, wait_for_status='yellow', request_timeout=240)
def start_up(): try: auth_header = get_admin_auth_header() su_client = start() if not su_client.indices.exists(index_name, headers=auth_header): logging.info(f"Index {index_name} not found. Creating one.") create_index(su_client, index_name, headers=auth_header) finally: su_client.close()
def start_up(search_config_id: str, search_config_url: str = None, search_config_title: str = None, detail_config_id: str = None, metadata_config_url: str = None, detail_config_url: str = None, detail_config_title: str = None): conf = get_config() search_config_index_name = conf.get_string("search-config.index-name") search_config = conf.get_config("presets.file-search.search-config") detail_config_index_name = conf.get_string("detail-config.index-name") detail_config = conf.get_config("presets.file-search.detail-config") if detail_config_id is None: detail_config_id = search_config_id try: es_client = start() auth_header = get_admin_auth_header() if not es_client.exists(search_config_index_name, search_config_id, headers=auth_header): create_search_config(es_client, search_config_index_name, search_config_id, search_config, search_config_url, search_config_title, headers=auth_header) if not es_client.exists(detail_config_index_name, detail_config_id, headers=auth_header): create_detail_config(es_client, detail_config_index_name, detail_config_id, detail_config, metadata_config_url, detail_config_url, detail_config_title, headers=auth_header) finally: es_client.close()
def start_up(): try: es_client = start() auth_header = get_admin_auth_header() if not es_client.indices.exists(index_name, headers=auth_header): create_sample_index(es_client, index_name, headers=auth_header) load_sample_data(es_client, index_name, num_docs=30, headers=auth_header) load_sample_config( es_client, index_name=conf.get_string("search-config.index-name"), headers=auth_header) load_detail_config( es_client, index_name=conf.get_string("detail-config.index-name"), headers=auth_header) finally: es_client.close()
from elasticsearch import Elasticsearch from fastapi import APIRouter, Depends, HTTPException, Path, Query, Request from fastapi_elasticsearch import ElasticsearchAPIQueryBuilder from response import (ElasticsearchHitBaseModel, ElasticsearchInnerHit, ElasticsearchModelConverter, ElasticsearchResponseModel) from starlette.responses import JSONResponse from .loaddata import (create_sample_index, load_detail_config, load_sample_config, load_sample_data) from .start_up import index_name conf = get_config() router = APIRouter() auth_header = get_admin_auth_header() class SampleBaseHitModel(ElasticsearchHitBaseModel): name: str category: str class SampleHitModel(SampleBaseHitModel): content_first_fragment: str content: ElasticsearchInnerHit[str] = [] query_builder = ElasticsearchAPIQueryBuilder()