You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@lucene.apache.org by "Chris M. Hostetter (Jira)" <ji...@apache.org> on 2020/09/15 21:34:00 UTC

[jira] [Commented] (SOLR-14869) [child] transformer includes deleted documents

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

Chris M. Hostetter commented on SOLR-14869:
-------------------------------------------

Assume we do the following with {{bin/solr -e cloud -noprompt}} ...
{noformat}
curl -X POST -H 'Content-type:application/json' --data-binary '{
  "replace-field":{
     "name":"_root_",
     "type":"string",
     "docValues":true }
}' http://localhost:8983/solr/gettingstarted/schema

curl -X POST 'http://localhost:8983/solr/gettingstarted/update?commit=true' -H 'Content-Type: application/json' --data-binary '[
{ "id": "P11!prod",
   "name_s": "Swingline Stapler",
   "description_t": "The Cadillac of office staplers ...",
   "skus": [ { "id": "P11!S21",
               "color_s": "RED",
               "price_i": 42,
               "manuals": [ { "id": "P11!D41",
                              "name_s": "Red Swingline Brochure",
                              "pages_i":1,
                              "content_t": "..."
                            } ]
             },
             { "id": "P11!S31",
               "color_s": "BLACK",
               "price_i": 3
             } ],
   "manuals": [ { "id": "P11!D51",
                  "name_s": "Quick Reference Guide",
                  "pages_i":1,
                  "content_t": "How to use your stapler ..."
                },
                { "id": "P11!D61",
                  "name_s": "Warranty Details",
                  "pages_i":42,
                  "content_t": "... lifetime guarantee ..."
                } ]
 },
 { "id": "P22!prod",
   "name_s": "Mont Blanc Fountain Pen",
   "description_t": "A Premium Writing Instrument ...",
   "skus": [ { "id": "P22!S22",
               "color_s": "RED",
               "price_i": 89,
               "manuals": [ { "id": "P22!D42",
                              "name_s": "Red Mont Blanc Brochure",
                              "pages_i":1,
                              "content_t": "..."
                            } ]
             },
             { "id": "P22!S32",
               "color_s": "BLACK",
               "price_i": 67
             } ],
   "manuals": [ { "id": "P22!D52",
                  "name_s": "How To Use A Pen",
                  "pages_i":42,
                  "content_t": "Start by removing the cap ..."
                } ]
 } ]'
{noformat}

Then note the following...

{noformat}
$ curl 'http://localhost:8983/solr/gettingstarted/select?q=id:P11!prod&fl=id,[child],skus,manuals,[docid]'
{
  "responseHeader":{
    "zkConnected":true,
    "status":0,
    "QTime":18,
    "params":{
      "q":"id:P11!prod",
      "fl":"id,[child],skus,manuals,[docid]"}},
  "response":{"numFound":1,"start":0,"maxScore":0.9452007,"numFoundExact":true,"docs":[
      {
        "id":"P11!prod",
        "skus":[
          {
            "id":"P11!S21",
            "[docid]":1,
            "manuals":[
              {
                "id":"P11!D41",
                "[docid]":0}]},
          
          {
            "id":"P11!S31",
            "[docid]":2}],
        "manuals":[
          {
            "id":"P11!D51",
            "[docid]":3},
          
          {
            "id":"P11!D61",
            "[docid]":4}],
        "[docid]":5}]
  }}

$ curl -X POST 'http://localhost:8983/solr/gettingstarted/update?commit=true' -H 'Content-Type: application/json' --data-binary '{"delete" : { "query": "id:P11!D51" }}'
{
  "responseHeader":{
    "rf":2,
    "status":0,
    "QTime":73}}

$ curl 'http://localhost:8983/solr/gettingstarted/select?q=id:P11!D51'
{
  "responseHeader":{
    "zkConnected":true,
    "status":0,
    "QTime":22,
    "params":{
      "q":"id:P11!D51"}},
  "response":{"numFound":0,"start":0,"maxScore":0.0,"numFoundExact":true,"docs":[]
  }}

{noformat}

...nested document has been deleted, but requests to the parent using {{\[child\]}} still return it...

{noformat}
$ curl 'http://localhost:8983/solr/gettingstarted/select?q=id:P11!prod&fl=id,[child],skus,manuals,[docid]'
{
  "responseHeader":{
    "zkConnected":true,
    "status":0,
    "QTime":18,
    "params":{
      "q":"id:P11!prod",
      "fl":"id,[child],skus,manuals,[docid]"}},
  "response":{"numFound":1,"start":0,"maxScore":0.9452007,"numFoundExact":true,"docs":[
      {
        "id":"P11!prod",
        "skus":[
          {
            "id":"P11!S21",
            "[docid]":1,
            "manuals":[
              {
                "id":"P11!D41",
                "[docid]":0}]},
          
          {
            "id":"P11!S31",
            "[docid]":2}],
        "manuals":[
          {
            "id":"P11!D51",
            "[docid]":3},
          
          {
            "id":"P11!D61",
            "[docid]":4}],
        "[docid]":5}]
  }}
{noformat}




> [child] transformer includes deleted documents
> ----------------------------------------------
>
>                 Key: SOLR-14869
>                 URL: https://issues.apache.org/jira/browse/SOLR-14869
>             Project: Solr
>          Issue Type: Bug
>      Security Level: Public(Default Security Level. Issues are Public) 
>            Reporter: Chris M. Hostetter
>            Priority: Major
>
> If you have nested documents that include "deleted" docs (ie: using "delete by query") the {{\[child\]}} transformer still include those deleted docs i it's output



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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