When a specific index is not specified, what do the additional entries in the response signify?


(pulkitsinghal) #1

If a search is performed with an index specified:
curl -XPOST http://localhost:9200/my_specific_index/_search/ -d '{
"fields": [
"upc"
],
"query": {
"match_all": {}
}
}'
Then I receive the correct # of total hits and 10 upc fields are
returned in the hits array as results.

BUT if the index is not specified then 3 out of the 10 entries that
are returned in the hits array ... seem to have some kind of control
information specified in them and I'm not sure what the significance/
motivation behind that is:

hits: [
{
_index: _river
_type: my_specific_index_river
_id: _meta
_score: 1
}
{
_index: _river
_type: my_specific_index_river
_id: _seq
_score: 1
}
{
_index: _river
_type: my_specific_index_river
_id: _status
_score: 1
}
...

Can someone please point me to a reference page on ES for this?


(David Pilato) #2

These are river internals values.
It depends on your river plugin.

HTH
David :wink:
@dadoonet

Le 6 mars 2012 à 07:00, pulkitsinghal pulkitsinghal@gmail.com a écrit :

If a search is performed with an index specified:
curl -XPOST http://localhost:9200/my_specific_index/_search/ -d '{
"fields": [
"upc"
],
"query": {
"match_all": {}
}
}'
Then I receive the correct # of total hits and 10 upc fields are
returned in the hits array as results.

BUT if the index is not specified then 3 out of the 10 entries that
are returned in the hits array ... seem to have some kind of control
information specified in them and I'm not sure what the significance/
motivation behind that is:

hits: [
{
_index: _river
_type: my_specific_index_river
_id: _meta
_score: 1
}
{
_index: _river
_type: my_specific_index_river
_id: _seq
_score: 1
}
{
_index: _river
_type: my_specific_index_river
_id: _status
_score: 1
}
...

Can someone please point me to a reference page on ES for this?


(pulkitsinghal) #3

That is very ambiguous, can you elaborate?

What does having a river plugin, have to do with getting entries in a search result that don't have any of the matching search fields?

Also this is a run of the mill CouchDB river plugin.

Sent from my iPhone

On Mar 6, 2012, at 12:33 AM, David Pilato david@pilato.fr wrote:

These are river internals values.
It depends on your river plugin.

HTH
David :wink:
@dadoonet

Le 6 mars 2012 à 07:00, pulkitsinghal pulkitsinghal@gmail.com a écrit :

If a search is performed with an index specified:
curl -XPOST http://localhost:9200/my_specific_index/_search/ -d '{
"fields": [
"upc"
],
"query": {
"match_all": {}
}
}'
Then I receive the correct # of total hits and 10 upc fields are
returned in the hits array as results.

BUT if the index is not specified then 3 out of the 10 entries that
are returned in the hits array ... seem to have some kind of control
information specified in them and I'm not sure what the significance/
motivation behind that is:

hits: [
{
_index: _river
_type: my_specific_index_river
_id: _meta
_score: 1
}
{
_index: _river
_type: my_specific_index_river
_id: _seq
_score: 1
}
{
_index: _river
_type: my_specific_index_river
_id: _status
_score: 1
}
...

Can someone please point me to a reference page on ES for this?


(David Pilato) #4

A river needs to store some internals values. For couchDb, it's the last sequence number provided by the _change API.
More, a river need to store its settings : couchDb URL, port, ...

Es store this as Json documents in _river special index.
This way, river settings are "duplicated" in the cluster. If a node failed, a second one will continue the job.

Hope it's a bit more clear :slight_smile:

David :wink:
@dadoonet

Le 6 mars 2012 à 18:24, pulkitsinghal@gmail.com a écrit :

That is very ambiguous, can you elaborate?

What does having a river plugin, have to do with getting entries in a search result that don't have any of the matching search fields?

Also this is a run of the mill CouchDB river plugin.

Sent from my iPhone

On Mar 6, 2012, at 12:33 AM, David Pilato david@pilato.fr wrote:

These are river internals values.
It depends on your river plugin.

HTH
David :wink:
@dadoonet

Le 6 mars 2012 à 07:00, pulkitsinghal pulkitsinghal@gmail.com a écrit :

If a search is performed with an index specified:
curl -XPOST http://localhost:9200/my_specific_index/_search/ -d '{
"fields": [
"upc"
],
"query": {
"match_all": {}
}
}'
Then I receive the correct # of total hits and 10 upc fields are
returned in the hits array as results.

BUT if the index is not specified then 3 out of the 10 entries that
are returned in the hits array ... seem to have some kind of control
information specified in them and I'm not sure what the significance/
motivation behind that is:

hits: [
{
_index: _river
_type: my_specific_index_river
_id: _meta
_score: 1
}
{
_index: _river
_type: my_specific_index_river
_id: _seq
_score: 1
}
{
_index: _river
_type: my_specific_index_river
_id: _status
_score: 1
}
...

Can someone please point me to a reference page on ES for this?


(David Pilato) #5

I will add that it's strange that you get this result. You asked to search in a specific index but you get documents from the _river index.

David :wink:
@dadoonet

Le 6 mars 2012 à 19:26, David Pilato david@pilato.fr a écrit :

A river needs to store some internals values. For couchDb, it's the last sequence number provided by the _change API.
More, a river need to store its settings : couchDb URL, port, ...

Es store this as Json documents in _river special index.
This way, river settings are "duplicated" in the cluster. If a node failed, a second one will continue the job.

Hope it's a bit more clear :slight_smile:

David :wink:
@dadoonet

Le 6 mars 2012 à 18:24, pulkitsinghal@gmail.com a écrit :

That is very ambiguous, can you elaborate?

What does having a river plugin, have to do with getting entries in a search result that don't have any of the matching search fields?

Also this is a run of the mill CouchDB river plugin.

Sent from my iPhone

On Mar 6, 2012, at 12:33 AM, David Pilato david@pilato.fr wrote:

These are river internals values.
It depends on your river plugin.

HTH
David :wink:
@dadoonet

Le 6 mars 2012 à 07:00, pulkitsinghal pulkitsinghal@gmail.com a écrit :

If a search is performed with an index specified:
curl -XPOST http://localhost:9200/my_specific_index/_search/ -d '{
"fields": [
"upc"
],
"query": {
"match_all": {}
}
}'
Then I receive the correct # of total hits and 10 upc fields are
returned in the hits array as results.

BUT if the index is not specified then 3 out of the 10 entries that
are returned in the hits array ... seem to have some kind of control
information specified in them and I'm not sure what the significance/
motivation behind that is:

hits: [
{
_index: _river
_type: my_specific_index_river
_id: _meta
_score: 1
}
{
_index: _river
_type: my_specific_index_river
_id: _seq
_score: 1
}
{
_index: _river
_type: my_specific_index_river
_id: _status
_score: 1
}
...

Can someone please point me to a reference page on ES for this?


(system) #6