Routing value doesn't match with search result


(Shairon Toledo) #1

Hi,
We're indexing and searching using account_id as routing, in a cluster with
3 nodes, things are working since 2 months ago, however now the routing
defined on url
is not matching with search result. This is the mapping for document type

When I search by

curl -XGET '
http://server:9200/prod/document/_search?routing=427&fields=account_id,_routing&size=10&pretty=true'
-d '
{
"query": {
"bool": {
"must": [
{
"term": {
"type": "pdf"
}
}
]
}
}
}
'

The result is https://gist.github.com/b544c15b8a92e19d7413 as you can see
for 5 documents _routing and account_d match with routing in the url(427),
5 others docs don't make part of the routing.

Worth mention that this began happen few days ago, I don't see anything in
the ES log.

We're running 0.19.3, do you have any idea how can I fix that?

--

Shairon Toledo
http://hashcode.me


(Rafał Kuć) #2

Hello Shairon!

If you only want to have documents only for a particular account_id, you should add a filter for that account_id value apart from the routing value. The reason for the behavior you are seeing is that multiple routing values can point to the same shard. So if you want to narrow your search result you should use routing and filtering for account_id.

--

Regards,

Rafał Kuć

Sematext :: http://sematext.com/ :: Solr - Lucene - Nutch - ElasticSearch

Hi,

We're indexing and searching using account_id as routing, in a cluster with 3 nodes, things are working since 2 months ago, however now the routing defined on url

is not matching with search result. This is the mapping for document type https://gist.github.com/9b5dd371bbf0715393ad

When I search by

curl -XGET 'http://server:9200/prod/document/_search?routing=427&fields=account_id,_routing&size=10&pretty=true' -d '

{

"query": {

"bool": {


  "must": [


    {


      "term": {


        "type": "pdf"


      }


    }


  ]


}

}

}

'

The result is https://gist.github.com/b544c15b8a92e19d7413 as you can see for 5 documents _routing and account_d match with routing in the url(427),

5 others docs don't make part of the routing.

Worth mention that this began happen few days ago, I don't see anything in the ES log.

We're running 0.19.3, do you have any idea how can I fix that?

--

Shairon Toledo

http://hashcode.me


(Shairon Toledo) #3

Hi Rafal,

Yeap I did this hotfix yesterday, however I thought that routing is also I
kind of filter scoping by document field level.

Thank you,

On Thu, Jun 21, 2012 at 8:14 AM, Rafał Kuć r.kuc@solr.pl wrote:

Hello Shairon!

If you only want to have documents only for a particular account_id, you
should add a filter for that account_id value apart from the routing value.
The reason for the behavior you are seeing is that multiple routing values
can point to the same shard. So if you want to narrow your search result
you should use routing and filtering for account_id.

*--
Regards,
Rafał Kuć
Sematext :: http://sematext.com/ :: Solr - Lucene - Nutch -
ElasticSearch

Hi,
We're indexing and searching using account_id as routing, in a cluster
with 3 nodes, things are working since 2 months ago, however now the
routing defined on url
is not matching with search result. This is the mapping for document type
https://gist.github.com/9b5dd371bbf0715393ad

When I search by

curl -XGET '
http://server:9200/prod/document/_search?routing=427&fields=account_id,_routing&size=10&pretty=true'
-d '
{
"query": {
"bool": {
"must": [
{
"term": {
"type": "pdf"
}
}
]
}
}
}
'

The result is https://gist.github.com/b544c15b8a92e19d7413 as you can see
for 5 documents _routing and account_d match with routing in the url(427),
5 others docs don't make part of the routing.

Worth mention that this began happen few days ago, I don't see anything in
the ES log.

We're running 0.19.3, do you have any idea how can I fix that?

--

Shairon Toledo
http://hashcode.me

--

Shairon Toledo
http://hashcode.me


(Rafał Kuć) #4

Hello!

No, it only routes the indexing and querying to a single shard, which can also have documents with other routing values.

--

Regards,

Rafał Kuć

Sematext :: http://sematext.com/ :: Solr - Lucene - Nutch - ElasticSearch

Hi Rafal,

Yeap I did this hotfix yesterday, however I thought that routing is also I kind of filter scoping by document field level.

Thank you,

On Thu, Jun 21, 2012 at 8:14 AM, Rafał Kuć <r.kuc@solr.pl> wrote:

Hello Shairon!

If you only want to have documents only for a particular account_id, you should add a filter for that account_id value apart from the routing value. The reason for the behavior you are seeing is that multiple routing values can point to the same shard. So if you want to narrow your search result you should use routing and filtering for account_id.

--

Regards,

Rafał Kuć

Sematext :: http://sematext.com/ :: Solr - Lucene - Nutch - ElasticSearch

Hi,

We're indexing and searching using account_id as routing, in a cluster with 3 nodes, things are working since 2 months ago, however now the routing defined on url

is not matching with search result. This is the mapping for document type https://gist.github.com/9b5dd371bbf0715393ad

When I search by

curl -XGET 'http://server:9200/prod/document/_search?routing=427&fields=account_id,_routing&size=10&pretty=true' -d '

{

"query": {

"bool": {


  "must": [


    {


      "term": {


        "type": "pdf"


      }


    }


  ]


}

}

}

'

The result is https://gist.github.com/b544c15b8a92e19d7413 as you can see for 5 documents _routing and account_d match with routing in the url(427),

5 others docs don't make part of the routing.

Worth mention that this began happen few days ago, I don't see anything in the ES log.

We're running 0.19.3, do you have any idea how can I fix that?

--

Shairon Toledo

http://hashcode.me

--

Shairon Toledo

http://hashcode.me


(system) #5