Elasticsearch Ingest API
Elasticsearch Ingest is a feature that allows you to preprocess documents before indexing them. It consists of a pipeline of processors that can manipulate the contents of the documents.
One way to test the effectiveness of an Ingest pipeline is to simulate its execution on a sample document. This can be done using the Elasticsearch Ingest API's "simulate" endpoint.
To use the "simulate" endpoint, you need to provide a JSON object that represents the document you want to test, and a JSON object that represents the pipeline you want to simulate. Here is an example of how to use the "simulate" endpoint:
curl -H 'Content-Type: application/json' -XGET 'localhost:9200/_ingest/pipeline/_simulate' -d '{
"pipeline": {
"description": "Sample pipeline",
"processors": [
{
"set": {
"field": "foo",
"value": "bar"
}
}
]
},
"docs": [
{
"_source": {
"text": "Hello world"
}
}
]
}'
In this example, we are simulating a pipeline that sets the value of the "foo" field to "bar" for every document that passes through it. We are testing this pipeline on a single document that contains the text "Hello world".
The response from the "simulate" endpoint will show you the resulting document after it has been processed by the pipeline:
{
"docs" : [
{
"doc" : {
"_index" : "_index",
"_type" : "_doc",
"_id" : "_id",
"_source" : {
"foo" : "bar",
"text" : "Hello world"
},
"_ingest" : {
"timestamp" : "2023-03-30T14:12:00.000Z"
}
}
}
]
}
As you can see, the resulting document now contains the "foo" field with the value "bar", which indicates that the pipeline was executed successfully.
댓글
댓글 쓰기