Yes, the _id field is a string. You are not limited to numbers. In fact, an
automatically generated ID has many non-numeric characters in it.
For what you want, you should create an id field, map it to a long integer,
and then copy your _id into that id field when you load the document. Then
when you sort on the id field, you will get a numeric sort.
Hope this helps.
Brian
On Tuesday, January 27, 2015 at 1:28:44 PM UTC-5, Abid Hussain wrote:
>
> ... can it be that _id is treated as string? If so, is there any way
> retrieve the max _id field with treating _id as integer?
>
> Am Dienstag, 27. Januar 2015 19:24:41 UTC+1 schrieb Abid Hussain:
>>
>> Hi all,
>>
>> I want to determine the doc with max and min _id value. So, when I run
>> this query:
>> GET /my_index/order/_search
>> {
>> "fields": [ "_id" ],
>> "sort": [
>> { "_uid": { "order": "desc" } }
>> ],
>> "size": 1
>> }
>> I get a result:
>> {
>> ...
>> "hits": {
>> ...
>> "hits": [
>> {
>> "_index": "my_index",
>> "_type": "order",
>> "_id": "999999",
>> "_score": null,
>> "sort": [
>> "order#999999"
>> ]
>> }
>> ]
>> }
>> }
>>
>> There is definitevely a doc with _id value 11132106 in index which I
>> would have expected as result.
>>
>> And, when I run the same search with *order asc* I get a result with
>> _id 1000000 which is higher than 999999...?
>>
>> What am I doing wrong?
>>
>> Regards,
>>
>> Abid
>>
>>
--
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/7842cdcf-67ee-48ed-8ef6-e8be2bb63a4a%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.