Thank you very much!
--
Eateral
在 2014年5月8日星期四UTC+8上午12时10分42秒,Ivan Brusic写道:
Your two clauses, mode and schedule, are joined via an AND, so those two
clauses should be part of the *must *section. The schedule clauses is
then an OR between two clauses, so it should be a nested bool filter using
*should*. Hopefully that made sense. :)
Since you are using term queries on what are hopefully non-analyzed fields
(numeric fields are always non-analyzed), I will use a match all query with
filters since it should be more efficient. The query should looking
something like:
{
query: {
filtered: {
query: {
match_all: {}
},
filter: {
bool: {
must: [
{
term: { mode: 1 }
},
{
bool: {
should: [
{
term: { schedule: 1 }
},
{
term: { schedule: 3 }
}
]
}
}
]
}
}
}
}
}
--
Ivan
On Mon, May 5, 2014 at 3:36 AM, 曾岩 eate...@gmail.com javascript:wrote:
Hi,
I'm new to Elasticsearch and try to integrate it into our project but met
a problem. In our data source, it has two fields: mode and schedule which
are all integer. Through UI, it should can query records based on these two
fields like:
*SELECT * FROM doc WHERE mode = 1 AND (schedule = 1 OR schedule = 3)*
I tried below query JSONs but none return the expected results, anyone
can help? Thank you!
*{*
* query: {*
*bool: {*
* must: [*
*{ match: { mode: 1 } }*
* ],*
* should: [*
* { match: { schedule: 1 } },*
*{ match: { schedule: 3 } }*
* ]*
*}*
* }*
*}*
---
*{ query: { filtered: { query: { match_all: {} },
filter: {and : [{term
: { mode : 1 } }]}, filter:
{and : [{term : {
schedule : 1 } }, {term : {
schedule : 3 }}] }} }}*
--
You received this message because you are subscribed to the Google Groups
elasticsearch group.
To unsubscribe from this group and stop receiving emails from it, send an
email to elasticsearc...@googlegroups.com javascript:.
To view this discussion on the web visit
https://groups.google.com/d/msgid/elasticsearch/45bd7de6-ffe9-4d9f-bef6-be11e19b051f%40googlegroups.comhttps://groups.google.com/d/msgid/elasticsearch/45bd7de6-ffe9-4d9f-bef6-be11e19b051f%40googlegroups.com?utm_medium=emailutm_source=footer
.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups
elasticsearch group.
To unsubscribe from this group and stop receiving emails from it, send an email
to elasticsearch+unsubscr...@googlegroups.com.
To view this discussion on the web visit
https://groups.google.com/d/msgid/elasticsearch/0e8e2332-d5b7-416b-a16e-f965884cc42f%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.