TERM
Facets with Script Field
A script that provides the actual terms that will be
processed for a given doc. A script_field (or script which will be used when no
field or fields are provided) can be set to provide it.
Here
is an example 1:
POST
Method:
http://localhost:9200/mobiles/_search?pretty=true
{
"query": {
"query_string": {
"query": "*a*"
}
},
"facets": {
"type": {
"terms": {
"script_field": "_source.name"
}
}
}
}
Results:
{
"took": 2,
"timed_out": false,
"_shards": {
"total": 1,
"successful": 1,
"failed": 0
},
"hits": {
"total": 5,
"max_score": 1,
"hits": [
{
"_index": "mobiles",
"_type": "nokia",
"_id": "1",
"_score": 1,
"_source": {
"name": "lumia 510"
}
},
{
"_index": "mobiles",
"_type": "nokia",
"_id": "2",
"_score": 1,
"_source": {
"name": "lumia 520"
}
},
{
"_index": "mobiles",
"_type": "nokia",
"_id": "3",
"_score": 1,
"_source": {
"name": "lumia 625"
}
},
{
"_index": "mobiles",
"_type": "nokia",
"_id": "4",
"_score": 1,
"_source": {
"name": "lumia 720"
}
},
{
"_index": "mobiles",
"_type": "micromax",
"_id": "2",
"_score": 1,
"_source": {
"name": "canvas"
}
}
]
},
"facets": {
"type": {
"_type": "terms",
"missing": 0,
"total": 5,
"other": 0,
"terms": [
{
"term": "lumia 720",
"count": 1
},
{
"term": "lumia 625",
"count": 1
},
{
"term": "lumia 520",
"count": 1
},
{
"term": "lumia 510",
"count": 1
},
{
"term": "canvas",
"count": 1
}
]
}
}
}
Here
is an example 2:
POST
Method:
http://localhost:9200/mobiles/_search?pretty=true
{
"query": {
"query_string": {
"query": "*a*"
}
},
"facets": {
"type": {
"terms": {
"script_field": "_source['name']"
}
}
}
}
Results:
{
"took": 2,
"timed_out": false,
"_shards": {
"total": 1,
"successful": 1,
"failed": 0
},
"hits": {
"total": 5,
"max_score": 1,
"hits": [
{
"_index": "mobiles",
"_type": "nokia",
"_id": "1",
"_score": 1,
"_source": {
"name": "lumia 510"
}
},
{
"_index": "mobiles",
"_type": "nokia",
"_id": "2",
"_score": 1,
"_source": {
"name": "lumia 520"
}
},
{
"_index": "mobiles",
"_type": "nokia",
"_id": "3",
"_score": 1,
"_source": {
"name": "lumia 625"
}
},
{
"_index": "mobiles",
"_type": "nokia",
"_id": "4",
"_score": 1,
"_source": {
"name": "lumia 720"
}
},
{
"_index": "mobiles",
"_type": "micromax",
"_id": "2",
"_score": 1,
"_source": {
"name": "canvas"
}
}
]
},
"facets": {
"type": {
"_type": "terms",
"missing": 0,
"total": 5,
"other": 0,
"terms": [
{
"term": "lumia 720",
"count": 1
},
{
"term": "lumia 625",
"count": 1
},
{
"term": "lumia 520",
"count": 1
},
{
"term": "lumia 510",
"count": 1
},
{
"term": "canvas",
"count": 1
}
]
}
}
}