I think I figured it out, I needed an extra set of curly braces
"filter" : {
"bool" : {
"must" : [
{
"range" : {
"fecha" : {
"gte" : 1325394000,
"lte" : 1356930000
}
}
},
{
"term" : {
"aq_industryid" : 1 }
},
{
"term" : {
"aq_clientid" : 1 }
},
{
"term" : { "ntipo"
: [5] }
}
]
}
}
Now the query runs, but it does not yield the expected results, maybe you
can help me with this
When I index the data, the field "fecha" is declared as a date field, with
format "YYYY-mm-dd HH:mm:ss", when I query Elasticsearch I see the correct
dates in the retrieved information, now I need to filter upon this data
with a range of dates, how shall I express the range values, as text or as
a unixtime ?
I've tried both and although theres data that should comply elastic does
not return records.
On Friday, December 12, 2014 3:08:51 PM UTC-5, Bruno Kamiche wrote:
I changed the filter to this:
"filter" : {
"bool" : {
"must" : [
"range" : {
"fecha" : {
"gte" :
"1325394000",
"lte" :
"1356930000"
}
},
{
"term" : {
"aq_industryid" : 1 }
},
{
"term" : {
"aq_clientid" : 1 }
},
{
"term" : { "ntipo"
: [5] }
}
]
}
}
But it keeps the error:
PHP Fatal error: Uncaught exception
'Guzzle\Http\Exception\ClientErrorResponseException' with message 'Client
error response
[status code] 400
[reason phrase] Bad Request
[url] http://localhost:9200/quantico_index/quantico_type/_search' in
/root/vendor/guzzle/http/Guzzle/Http/Exception/BadResponseException.php:43
Stack trace:
#0 /root/vendor/guzzle/http/Guzzle/Http/Message/Request.php(145):
Guzzle\Http\Exception\BadResponseException::factory(Object(Guzzle\Http\Message\EntityEnclosingRequest),
Object(Guzzle\Http\Message\Response))
#1 [internal function]:
Guzzle\Http\Message\Request::onRequestError(Object(Guzzle\Common\Event),
'request.error', Object(Symfony\Component\EventDispatcher\EventDispatcher))
#2
/root/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/EventDispatcher.php(164):
call_user_func(Array, Object(Guzzle\Common\Event), 'request.error',
Object(Symfony\Component\EventDispatcher\EventDispatcher))
#3
/root/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/EventDispatcher.php(53):
Symf in
/root/vendor/elasticsearch/elasticsearch/src/Elasticsearch/Connections/GuzzleConnection.php
on line 266
On Friday, December 12, 2014 3:06:47 PM UTC-5, David Pilato wrote:
Oh I see. Filter accepts only one filter. You should put your range
inside the Must array.
David
Le 12 déc. 2014 à 21:04, Bruno Kamiche bkam...@gmail.com a écrit :
Hello, I'm testing Elasticsearch and I need to apply different filters,
when I include the "range" filter I get an error and the query is not
executed, here's the json:
$json = '{
"size" : 10,
"from" : 0,
"sort" : [
{ "_timestamp" : { "order" : "desc" } },
{ "_score" : { "order" : "desc" } }
],
"query" : {
"filtered" : {
"query" : {
"query_string" : {
"fields" : ["mytextfield"],
"query" : "my query string",
"default_operator" : "AND"
}
},
"filter" : {
"range" : {
"datefields" : {
"gte" : "1325394000",
"lte" : "1356930000"
}
},
"bool" : {
"must" : [
{
"term" : {
"aq_industryid" : 1 }
},
{
"term" : {
"aq_clientid" : 1 }
},
{
"term" : {
"ntipo" : [5] }
}
]
}
}
}
}
}';
If I don't include the "range" filter, everything works fine (filtering
by the other fields, number of results, order, etc), what am I doing wrong?
--
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.
To view this discussion on the web visit
https://groups.google.com/d/msgid/elasticsearch/be4ca3a2-081f-458a-a006-8d8e80ef23e5%40googlegroups.com
https://groups.google.com/d/msgid/elasticsearch/be4ca3a2-081f-458a-a006-8d8e80ef23e5%40googlegroups.com?utm_medium=email&utm_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+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/5ac37c0e-69a7-4ffd-b211-497fb88b7e23%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.