Создание индекса с двух отображений
curl -XPUT 'localhost:9200/percolate-index?pretty' -H 'Content-Type: application/json' -d'
{
"mappings": {
"doctype": {
"properties": {
"title": {
"type": "text"
},
"category_id": {
"type": "long"
},
"price": {
"type": "long"
}
}
},
"queries": {
"properties": {
"query": {
"type": "percolator"
}
}
}
}
}'
Зарегистрировать запрос в фильтровальной
curl -XPUT 'localhost:9200/percolate-index/queries/1?refresh&pretty' -H 'Content-Type: application/json' -d'
{
"query": {
"bool": {
"must": {
"multi_match": {
"query": "iphone",
"fields": ["title"]
}
},
"filter": [
{
"terms": {
"category_id": [4]
}
}
]
}
}
}'
спичек документ к зарегистрированному перколяторе запросов
curl -XGET 'localhost:9200/percolate-index/_search?pretty' -H 'Content-Type: application/json' -d'
{
"query" : {
"percolate" : {
"field" : "query",
"document_type" : "doctype",
"document" : {
"title" : "iphone 6",
"category_id" : 4
}
}
}
}'