a new index with the pipeline,# not relying on langchain to create the indexdb.client.indices.create(    index=APPROX_SELF_DEPLOYED_INDEX_NAME,    mappings={        "properties": {            "text_field": {"type": "text"},            "vector_query_field": {                "properties": {                    "predicted_value": {                        "type": "dense_vector",                        "dims": 384,                        "index": True,                        "similarity": "l2_norm",                    }                }            },        }    },    settings={"index": {"default_pipeline": "test_pipeline"}},)db.from_texts(["hello world"],         es_cloud_id="<cloud id>",    es_user="elastic",    es_password="<cloud password>",     index_name=APPROX_SELF_DEPLOYED_INDEX_NAME,    query_field="text_field",    vector_query_field="vector_query_field.predicted_value",    strategy=ElasticsearchStore.ApproxRetrievalStrategy(      query_model_id="sentence-transformers__all-minilm-l6-v2"    ))# Perform searchdb.similarity_search("hello world", k=10)SparseVectorRetrievalStrategy (ELSER)‚ÄãThis strategy uses Elasticsearch's sparse vector retrieval to retrieve the top-k results. We only support our own "ELSER" embedding model for now.NOTE This requires the ELSER model to be deployed and running in Elasticsearch ml node. To use this, specify SparseVectorRetrievalStrategy in ElasticsearchStore constructor.# Note that this example doesn't have an embedding function. This is because we infer the tokens at index time and at query time within Elasticsearch. # This requires the ELSER model to be loaded and running in Elasticsearch.db = ElasticsearchStore.from_documents(    docs,     es_cloud_id="My_deployment:dXMtY2VudHJhbDEuZ2NwLmNsb3VkLmVzLmlvOjQ0MyQ2OGJhMjhmNDc1M2Y0MWVjYTk2NzI2ZWNkMmE5YzRkNyQ3NWI4ODRjNWQ2OTU0MTYzODFjOTkxNmQ1YzYxMGI1Mw==",    es_user="elastic",    es_password="GgUPiWKwEzgHIYdHdgPk1Lwi",    index_name="test-elser",
Elasticsearch is a distributed, RESTful search and analytics engine, capable of performing both vector and lexical search. It is built on top of the Apache Lucene library.
Elasticsearch is a distributed, RESTful search and analytics engine, capable of performing both vector and lexical search. It is built on top of the Apache Lucene library. ->: a new index with the pipeline,# not relying on langchain to create the indexdb.client.indices.create(    index=APPROX_SELF_DEPLOYED_INDEX_NAME,    mappings={        "properties": {            "text_field": {"type": "text"},            "vector_query_field": {                "properties": {                    "predicted_value": {                        "type": "dense_vector",                        "dims": 384,                        "index": True,                        "similarity": "l2_norm",                    }                }            },        }    },    settings={"index": {"default_pipeline": "test_pipeline"}},)db.from_texts(["hello world"],         es_cloud_id="<cloud id>",    es_user="elastic",    es_password="<cloud password>",     index_name=APPROX_SELF_DEPLOYED_INDEX_NAME,    query_field="text_field",    vector_query_field="vector_query_field.predicted_value",    strategy=ElasticsearchStore.ApproxRetrievalStrategy(      query_model_id="sentence-transformers__all-minilm-l6-v2"    ))# Perform searchdb.similarity_search("hello world", k=10)SparseVectorRetrievalStrategy (ELSER)‚ÄãThis strategy uses Elasticsearch's sparse vector retrieval to retrieve the top-k results. We only support our own "ELSER" embedding model for now.NOTE This requires the ELSER model to be deployed and running in Elasticsearch ml node. To use this, specify SparseVectorRetrievalStrategy in ElasticsearchStore constructor.# Note that this example doesn't have an embedding function. This is because we infer the tokens at index time and at query time within Elasticsearch. # This requires the ELSER model to be loaded and running in Elasticsearch.db = ElasticsearchStore.from_documents(    docs,     es_cloud_id="My_deployment:dXMtY2VudHJhbDEuZ2NwLmNsb3VkLmVzLmlvOjQ0MyQ2OGJhMjhmNDc1M2Y0MWVjYTk2NzI2ZWNkMmE5YzRkNyQ3NWI4ODRjNWQ2OTU0MTYzODFjOTkxNmQ1YzYxMGI1Mw==",    es_user="elastic",    es_password="GgUPiWKwEzgHIYdHdgPk1Lwi",    index_name="test-elser",