You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@solr.apache.org by "Mikhail Khludnev (Jira)" <ji...@apache.org> on 2023/05/23 18:47:00 UTC

[jira] [Commented] (SOLR-16717) Join collocated shards

    [ https://issues.apache.org/jira/browse/SOLR-16717?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17725538#comment-17725538 ] 

Mikhail Khludnev commented on SOLR-16717:
-----------------------------------------

I made a small experiment. Quard-shard {{product}} collection, and single shard {{sku1}} fully replicated and equivalent Quard-shard {{sku4}} collection.   

{code}
{
  "cluster": {
    "collections": {
      "sku1": {
        "replicationFactor": 4,
        "router": {
          "name": "compositeId",
          "field": null
        },
        "nrtReplicas": 4,
          "shard1":{
            "range":"80000000-7fffffff",
      },
      "product": {
        "replicationFactor": 1,
        "router": {
          "name": "compositeId",
          "field": null
        },
        "nrtReplicas": 1,
        "shards":{
          "shard1":{...},
          "shard2":{...},
          "shard3":{...},
          "shard4":{...},
          }
      },
      "sku4": {
        "replicationFactor": 1,
        "router": {
          "name": "compositeId",
          "field": "productid_s"
        },
        "nrtReplicas": 1,
        "shards":{
          "shard1":{...},
          "shard2":{...},
          "shard3":{...},
          "shard4":{...},
          }
      }
    },
    "properties": {
      "plugin": {
        ".placement-plugin": {
          "name": ".placement-plugin",
          "class": "org.apache.solr.cluster.placement.plugins.AffinityPlacementFactory",
          "config": {
            "minimalFreeDiskGB": 0,
            "withCollectionShards": {
              "products": "sku4"
            }
          }
        }
      }
    },
    "live_nodes": [
      "localhost:7575_solr",
      "localhost:8983_solr",
      "localhost:8984_solr",
      "localhost:7574_solr"
    ]
  }
}
{code}

So, I can join from {{sku1}} to {{product}} as before and {{sku4}} to {{product}}. And as we can see the later op is faster due to distributing processing.
{code}
"QTime":996,
    "params":{
      "q":"{!join cache=false from=productid_s to=id fromIndex=sku1}name_txt:sue",
}},
  "response":{"numFound":21040,"start":0,"maxScore":1.0,"numFoundExact":true,"docs":[

"QTime":483,
    "params":{
      "q":"{!join cache=false from=productid_s to=id fromIndex=sku4}name_txt:sue",
}},
  "response":{"numFound":22058,"start":0,"maxScore":1.0,"numFoundExact":true,"docs":[
{code}  

> Join collocated shards
> ----------------------
>
>                 Key: SOLR-16717
>                 URL: https://issues.apache.org/jira/browse/SOLR-16717
>             Project: Solr
>          Issue Type: Improvement
>            Reporter: Mikhail Khludnev
>            Assignee: Mikhail Khludnev
>            Priority: Major
>
> h3. Context
> It's about \{!join} query parser and distributed mode.
> h3. As is
> SOLR-4905 allows to join from single shard collection to many shards collection. 
> h3. Challenge
>  *  Support multiple shards on from side as well,
>  *  but strictly stick to collocated indices that promise much performance.  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@solr.apache.org
For additional commands, e-mail: issues-help@solr.apache.org