Hi

Here is a quick example (pinched from the article I sent you and added to)

You can see that we get the values from two different places.  Whilst the
field exists at the _all level it does not exist in the inverted index.

POST /my_index/posts/_bulk
{ "index": { "_id": "1"              }}
{ "tags" : ["search"]                }
{ "index": { "_id": "2"              }}
{ "tags" : ["search", "open_source"] }
{ "index": { "_id": "3"              }}
{ "other_field" : "some data"        }
{ "index": { "_id": "4"              }}
{ "tags" : null                      }
{ "index": { "_id": "5"              }}
{ "tags" : ["search", null]          }


GET /my_index/_search

GET /my_index/_search
{
    "fields": [
       "tags"
    ],
    "query": { "match_all": {}}

}

On 26 May 2015 at 09:33, Xudong You <[email protected]> wrote:

> Thanks your reply!
> But why if I remove "fields" from query DSL, then I can see those null
> value fields in ES response?
>
> On Tuesday, May 26, 2015 at 4:19:30 PM UTC+8, Allan Mitchell wrote:
>>
>> Hi
>>
>> If you have a field that has null as a value then as far as the inverted
>> index is concerned for that document it doesn''t exist
>>
>> Have a look at this
>>
>>
>> https://www.elastic.co/guide/en/elasticsearch/guide/current/_dealing_with_null_values.html
>>
>>
>> On 26 May 2015 at 08:11, Xudong You <[email protected]> wrote:
>>
>>> I used "fields" to limit only return selected fields:
>>> {
>>> "fields" : ["Title", "Price"],
>>> "query" :{
>>>  ...
>>> }
>>> }
>>>
>>> The Price fields might be null for some of the documents, I found that
>>> only when "Price" field value is NOT null, it is returned in ES response,
>>> otherwise, it is missing in response. But if I remove "fields" from the
>>> query, the null value field will appear in response.
>>>
>>> Is it by design of Elasticsearch? How to return the null value fields in
>>> response even using "fields" in query?
>>>
>>>  --
>>> Please update your bookmarks! We have moved to
>>> https://discuss.elastic.co/
>>> ---
>>> 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/3c91fd31-0e13-4afb-a9bf-1a0ec795e68f%40googlegroups.com
>>> <https://groups.google.com/d/msgid/elasticsearch/3c91fd31-0e13-4afb-a9bf-1a0ec795e68f%40googlegroups.com?utm_medium=email&utm_source=footer>
>>> .
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>>  --
> Please update your bookmarks! We have moved to https://discuss.elastic.co/
> ---
> 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/71e4219a-e9a6-4fa0-a289-9bf3fb6e50a3%40googlegroups.com
> <https://groups.google.com/d/msgid/elasticsearch/71e4219a-e9a6-4fa0-a289-9bf3fb6e50a3%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
> For more options, visit https://groups.google.com/d/optout.
>

-- 
Please update your bookmarks! We have moved to https://discuss.elastic.co/
--- 
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/CAECdJzCt_%2BVvB8JqWRfT7Xs-9%3DHb_Jg-s6Yxarq%2B01b9mn5ggg%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to