如文档中所述,当我使用_percolator存储查询时,例如:
curl -XPUT localhost:9200/_percolator/test/kuku -d '{
"color" : "blue",
"query" : {
"term" : {
"field1" : "value1"
}
}
}'
当我在'test'索引上渗透文档时,将运行此查询,但如果我想将其限制为'test'索引的类型'foo',唯一的解决方案是在查询中添加一个类型:
curl -XPUT localhost:9200/_percolator/test/kuku -d '{
"type":"foo",
"color" : "blue",
"query" : {
"term" : {
"field1" : "value1"
}
}
}'
添加文档时使用
curl -XGET localhost:9200/test/type1/_percolate -d '{
"doc" : {
"field1" : "value1"
},
"query" : {
"term" : {
"type" : "foo"
}
}
}'
还有其他解决方案吗? 我试过了
curl -XPUT localhost:9200/_percolator/test/foo/kuku
但它不起作用。
答案 0 :(得分:2)
另一种方法是将原始查询包装到已过滤的查询中,并为_type:
添加术语过滤器{
"query": {
"filtered":{
"query": {
"term":{
field1" : "value1"
}
},
"filter": {
"term": {
"_type" : "type1"
}
}
}
}
}