I'm using the range as follows:
"range" : {
"fecha" : {
"gte" : "2012-08-01 00:00:00",
"lte" : "2012-08-31 23:59:59"
}
}
But although I dont get an error, the returned fields are not complying
with the range....
On Friday, December 12, 2014 3:35:23 PM UTC-5, Bruno Kamiche wrote:
>
> This is my mapping
>
> 'fecha' => [
> 'type' => 'date',
> 'format' => 'YYYY-mm-dd HH:mm:ss'
> ]
>
>
> On Friday, December 12, 2014 3:33:22 PM UTC-5, David Pilato wrote:
>>
>> Text should be fine. But are you sure you defined the field as date in
>> mapping?
>> With the right format?
>>
>> David
>>
>> Le 12 déc. 2014 à 21:15, Bruno Kamiche <[email protected]> a écrit :
>>
>> 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 elastic search 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 <[email protected]> a écrit :
>>>>
>>>> Hello, I'm testing elastic search 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 [email protected].
>>>> 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 [email protected].
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/elasticsearch/5ac37c0e-69a7-4ffd-b211-497fb88b7e23%40googlegroups.com
>>
>> <https://groups.google.com/d/msgid/elasticsearch/5ac37c0e-69a7-4ffd-b211-497fb88b7e23%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 [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/elasticsearch/c7125662-eb03-4bd8-8446-bc3c0941f437%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.