Uploaded image for project: 'eZ Publish / Platform'
  1. eZ Publish / Platform
  2. EZP-24003

eZ Find: Solr facet field "attr_profiles_t" truncates object relations values

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Medium Medium
    • Resolution: Invalid
    • Affects Version/s: 5.4.1
    • Fix Version/s: Customer request
    • Labels:
      None
    • Environment:

      eZ Publish 5.4.1, eZ Find 5.4.1, Solr admin interface

      Description

      Steps to reproduce:

      1. Create new content class:

      Name: Profile
      Identifier: profile

      Add one attribute:

      Attribute Type: Text line

      • Name: Title
      • Identifier: title
      • Is required: checked
      • Searchable: checked

      2. Create a new content in content tree for the new class. Called it "Jeune Journaliste":

      Home
      	Tests
      		Jeune Journaliste
      

      3. Duplicate "Article" class, and add a new attribute of type "Object relations" to the new class. The new class is called "Article 2", and the new attribute is called "Profiles":

      Name: Article 2
      Identifier: article_2

      Attribute Type: Object relations

      • Name: Profiles
      • Identifier: profiles
      • Selection method: List with checkboxes
      • Allowed classes: profile
      • Is required: not checked
      • Searchable: checked
      • Default location: Tests

      4. Create a content for the new "article_2" class. Called it "13140 Test 1", and associated "Jeune Journaliste" content defined in step 2 to the "profile" object relations attribute:

      Home
      	Tests
      		13140 Test 1
      

      5. On Solr admin interface, execute this query:

      /select?q=*:*&fq=meta_class_identifier_ms:article_2&wt=json&indent=true&facet=true&facet.field=attr_profiles_t
      

      Result:

      {
        "responseHeader": {
          "status": 0,
          "QTime": 8,
          "params": {
            "q": "*:*",
            "facet.field": "attr_profiles_t",
            "indent": "true",
            "fq": "meta_class_identifier_ms:article_2",
            "wt": "json",
            "facet": "true",
            "_": "1423594692695"
          }
        },
        "response": {
          "numFound": 1,
          "start": 0,
          "docs": [
            {}
          ]
        },
        "facet_counts": {
          "facet_queries": {},
          "facet_fields": {
            "attr_profiles_t": [
              "jeun",
              1,
              "journalist",
              1
            ]
          },
          "facet_dates": {},
          "facet_ranges": {},
          "facet_intervals": {}
        }
      }
      

      This is not correct, since the values of "attr_profiles_t" are truncated - "jeun" should be "jeune", and "journalist" should be "journaliste".

        Activity

        Nuno Oliveira (Inactive) created issue -
        Nuno Oliveira (Inactive) made changes -
        Field Original Value New Value
        Description h4. Steps to reproduce:

        1. Create new content class:

        Name: Profile
        Identifier: profile

        Add one attribute:

        Attribute Type: Text line
         - Name: Title
         - Identifier: title
         - Is required: checked
         - Searchable: checked

        2. Create a new content in content tree for the new class. Called it "Jeune Journaliste":

        Home
        Tests
        Jeune Journaliste

        3. Duplicate "Article" class, and add a new attribute of type "Object relations" to the new class. The new class is called "Article 2", and the new attribute is called "Profiles":

        Name: Article 2
        Identifier: article_2

        Attribute Type: Object relations
         - Name: Profiles
         - Identifier: profile
         - Selection method: List with checkboxes
         - Allowed classes: profile
         - Is required: not checked
         - Searchable: checked
         - Default location: Tests

        4. Create a content for the new "article_2" class. Called it "13140 Test 1", and associated "Jeune Journaliste" content defined in step 2 to the "profile" object relations attribute:

        Home
        Tests
        13140 Test 1

        5. On Solr admin interface, execute this query:

        /select?q=*:*&fq=meta_class_identifier_ms:article_2&wt=json&indent=true&facet=true&facet.field=attr_profiles_t

        Result:

        {noformat}
        {
          "responseHeader": {
            "status": 0,
            "QTime": 7,
            "params": {
              "q": "*:*",
              "facet.field": "attr_profiles_t",
              "indent": "true",
              "fq": "meta_class_identifier_ms:article_2",
              "wt": "json",
              "facet": "true",
              "_": "1423593921316"
            }
          },
          "response": {
            "numFound": 1,
            "start": 0,
            "docs": [
              {}
            ]
          },
          "facet_counts": {
            "facet_queries": {},
            "facet_fields": {
              "attr_profiles_t": [
                "jeun",
                1,
                "journalist",
                1,
                "1",
                0,
                "profil",
                0
              ]
            },
            "facet_dates": {},
            "facet_ranges": {},
            "facet_intervals": {}
          }
        }
        {noformat}

        This is not correct, since the values of "attr_profiles_t" are truncated - "jeun" should be "jeune", and "journalist" should be "journaliste".
        h4. Steps to reproduce:

        1. Create new content class:

        Name: Profile
        Identifier: profile

        Add one attribute:

        Attribute Type: Text line
         - Name: Title
         - Identifier: title
         - Is required: checked
         - Searchable: checked

        2. Create a new content in content tree for the new class. Called it "Jeune Journaliste":

        {noformat}
        Home
        Tests
        Jeune Journaliste
        {noformat}

        3. Duplicate "Article" class, and add a new attribute of type "Object relations" to the new class. The new class is called "Article 2", and the new attribute is called "Profiles":

        Name: Article 2
        Identifier: article_2

        Attribute Type: Object relations
         - Name: Profiles
         - Identifier: profile
         - Selection method: List with checkboxes
         - Allowed classes: profile
         - Is required: not checked
         - Searchable: checked
         - Default location: Tests

        4. Create a content for the new "article_2" class. Called it "13140 Test 1", and associated "Jeune Journaliste" content defined in step 2 to the "profile" object relations attribute:

        {noformat}
        Home
        Tests
        13140 Test 1
        {noformat}

        5. On Solr admin interface, execute this query:

        {noformat}
        /select?q=*:*&fq=meta_class_identifier_ms:article_2&wt=json&indent=true&facet=true&facet.field=attr_profiles_t
        {noformat}

        Result:

        {noformat}
        {
          "responseHeader": {
            "status": 0,
            "QTime": 7,
            "params": {
              "q": "*:*",
              "facet.field": "attr_profiles_t",
              "indent": "true",
              "fq": "meta_class_identifier_ms:article_2",
              "wt": "json",
              "facet": "true",
              "_": "1423593921316"
            }
          },
          "response": {
            "numFound": 1,
            "start": 0,
            "docs": [
              {}
            ]
          },
          "facet_counts": {
            "facet_queries": {},
            "facet_fields": {
              "attr_profiles_t": [
                "jeun",
                1,
                "journalist",
                1,
                "1",
                0,
                "profil",
                0
              ]
            },
            "facet_dates": {},
            "facet_ranges": {},
            "facet_intervals": {}
          }
        }
        {noformat}

        This is not correct, since the values of "attr_profiles_t" are truncated - "jeun" should be "jeune", and "journalist" should be "journaliste".
        Nuno Oliveira (Inactive) made changes -
        Description h4. Steps to reproduce:

        1. Create new content class:

        Name: Profile
        Identifier: profile

        Add one attribute:

        Attribute Type: Text line
         - Name: Title
         - Identifier: title
         - Is required: checked
         - Searchable: checked

        2. Create a new content in content tree for the new class. Called it "Jeune Journaliste":

        {noformat}
        Home
        Tests
        Jeune Journaliste
        {noformat}

        3. Duplicate "Article" class, and add a new attribute of type "Object relations" to the new class. The new class is called "Article 2", and the new attribute is called "Profiles":

        Name: Article 2
        Identifier: article_2

        Attribute Type: Object relations
         - Name: Profiles
         - Identifier: profile
         - Selection method: List with checkboxes
         - Allowed classes: profile
         - Is required: not checked
         - Searchable: checked
         - Default location: Tests

        4. Create a content for the new "article_2" class. Called it "13140 Test 1", and associated "Jeune Journaliste" content defined in step 2 to the "profile" object relations attribute:

        {noformat}
        Home
        Tests
        13140 Test 1
        {noformat}

        5. On Solr admin interface, execute this query:

        {noformat}
        /select?q=*:*&fq=meta_class_identifier_ms:article_2&wt=json&indent=true&facet=true&facet.field=attr_profiles_t
        {noformat}

        Result:

        {noformat}
        {
          "responseHeader": {
            "status": 0,
            "QTime": 7,
            "params": {
              "q": "*:*",
              "facet.field": "attr_profiles_t",
              "indent": "true",
              "fq": "meta_class_identifier_ms:article_2",
              "wt": "json",
              "facet": "true",
              "_": "1423593921316"
            }
          },
          "response": {
            "numFound": 1,
            "start": 0,
            "docs": [
              {}
            ]
          },
          "facet_counts": {
            "facet_queries": {},
            "facet_fields": {
              "attr_profiles_t": [
                "jeun",
                1,
                "journalist",
                1,
                "1",
                0,
                "profil",
                0
              ]
            },
            "facet_dates": {},
            "facet_ranges": {},
            "facet_intervals": {}
          }
        }
        {noformat}

        This is not correct, since the values of "attr_profiles_t" are truncated - "jeun" should be "jeune", and "journalist" should be "journaliste".
        h4. Steps to reproduce:

        1. Create new content class:

        Name: Profile
        Identifier: profile

        Add one attribute:

        Attribute Type: Text line
         - Name: Title
         - Identifier: title
         - Is required: checked
         - Searchable: checked

        2. Create a new content in content tree for the new class. Called it "Jeune Journaliste":

        {noformat}
        Home
        Tests
        Jeune Journaliste
        {noformat}

        3. Duplicate "Article" class, and add a new attribute of type "Object relations" to the new class. The new class is called "Article 2", and the new attribute is called "Profiles":

        Name: Article 2
        Identifier: article_2

        Attribute Type: Object relations
         - Name: Profiles
         - Identifier: profile
         - Selection method: List with checkboxes
         - Allowed classes: profile
         - Is required: not checked
         - Searchable: checked
         - Default location: Tests

        4. Create a content for the new "article_2" class. Called it "13140 Test 1", and associated "Jeune Journaliste" content defined in step 2 to the "profile" object relations attribute:

        {noformat}
        Home
        Tests
        13140 Test 1
        {noformat}

        5. On Solr admin interface, execute this query:

        {noformat}
        /select?q=*:*&fq=meta_class_identifier_ms:article_2&wt=json&indent=true&facet=true&facet.field=attr_profiles_t
        {noformat}

        Result:

        {noformat}
        {
          "responseHeader": {
            "status": 0,
            "QTime": 8,
            "params": {
              "q": "*:*",
              "facet.field": "attr_profiles_t",
              "indent": "true",
              "fq": "meta_class_identifier_ms:article_2",
              "wt": "json",
              "facet": "true",
              "_": "1423594692695"
            }
          },
          "response": {
            "numFound": 1,
            "start": 0,
            "docs": [
              {}
            ]
          },
          "facet_counts": {
            "facet_queries": {},
            "facet_fields": {
              "attr_profiles_t": [
                "jeun",
                1,
                "journalist",
                1
              ]
            },
            "facet_dates": {},
            "facet_ranges": {},
            "facet_intervals": {}
          }
        }
        {noformat}

        This is not correct, since the values of "attr_profiles_t" are truncated - "jeun" should be "jeune", and "journalist" should be "journaliste".
        Nuno Oliveira (Inactive) made changes -
        Status Open [ 1 ] Confirmed [ 10037 ]
        Nuno Oliveira (Inactive) made changes -
        Attachment EZP-24003 - screenshot 1.png [ 19316 ]
        Paulo Lopes (Inactive) made changes -
        Status Confirmed [ 10037 ] InputQ [ 10001 ]
        Hide
        Jean-Luc Chassaing added a comment -

        I 'd like to add something here.
        The idea is to attach contents to an other content with the object relatations field and then use this field in facets. The problem is that in the facet results the words are cut. To refer to the example above if the name is "journaliste" the word will be cut in the facet result to become "journalist" and if the name has a space it goes worse "jeune journaliste" becomes "jeun".

        Show
        Jean-Luc Chassaing added a comment - I 'd like to add something here. The idea is to attach contents to an other content with the object relatations field and then use this field in facets. The problem is that in the facet results the words are cut. To refer to the example above if the name is "journaliste" the word will be cut in the facet result to become "journalist" and if the name has a space it goes worse "jeune journaliste" becomes "jeun".
        Yannick Roger (Inactive) made changes -
        Assignee Yannick Roger [ yannick.roger@ez.no ]
        Yannick Roger (Inactive) made changes -
        Assignee Yannick Roger [ yannick.roger@ez.no ] Petar Spanja [ petar.spanja@ez.no ]
        Nuno Oliveira (Inactive) made changes -
        Description h4. Steps to reproduce:

        1. Create new content class:

        Name: Profile
        Identifier: profile

        Add one attribute:

        Attribute Type: Text line
         - Name: Title
         - Identifier: title
         - Is required: checked
         - Searchable: checked

        2. Create a new content in content tree for the new class. Called it "Jeune Journaliste":

        {noformat}
        Home
        Tests
        Jeune Journaliste
        {noformat}

        3. Duplicate "Article" class, and add a new attribute of type "Object relations" to the new class. The new class is called "Article 2", and the new attribute is called "Profiles":

        Name: Article 2
        Identifier: article_2

        Attribute Type: Object relations
         - Name: Profiles
         - Identifier: profile
         - Selection method: List with checkboxes
         - Allowed classes: profile
         - Is required: not checked
         - Searchable: checked
         - Default location: Tests

        4. Create a content for the new "article_2" class. Called it "13140 Test 1", and associated "Jeune Journaliste" content defined in step 2 to the "profile" object relations attribute:

        {noformat}
        Home
        Tests
        13140 Test 1
        {noformat}

        5. On Solr admin interface, execute this query:

        {noformat}
        /select?q=*:*&fq=meta_class_identifier_ms:article_2&wt=json&indent=true&facet=true&facet.field=attr_profiles_t
        {noformat}

        Result:

        {noformat}
        {
          "responseHeader": {
            "status": 0,
            "QTime": 8,
            "params": {
              "q": "*:*",
              "facet.field": "attr_profiles_t",
              "indent": "true",
              "fq": "meta_class_identifier_ms:article_2",
              "wt": "json",
              "facet": "true",
              "_": "1423594692695"
            }
          },
          "response": {
            "numFound": 1,
            "start": 0,
            "docs": [
              {}
            ]
          },
          "facet_counts": {
            "facet_queries": {},
            "facet_fields": {
              "attr_profiles_t": [
                "jeun",
                1,
                "journalist",
                1
              ]
            },
            "facet_dates": {},
            "facet_ranges": {},
            "facet_intervals": {}
          }
        }
        {noformat}

        This is not correct, since the values of "attr_profiles_t" are truncated - "jeun" should be "jeune", and "journalist" should be "journaliste".
        h4. Steps to reproduce:

        1. Create new content class:

        Name: Profile
        Identifier: profile

        Add one attribute:

        Attribute Type: Text line
         - Name: Title
         - Identifier: title
         - Is required: checked
         - Searchable: checked

        2. Create a new content in content tree for the new class. Called it "Jeune Journaliste":

        {noformat}
        Home
        Tests
        Jeune Journaliste
        {noformat}

        3. Duplicate "Article" class, and add a new attribute of type "Object relations" to the new class. The new class is called "Article 2", and the new attribute is called "Profiles":

        Name: Article 2
        Identifier: article_2

        Attribute Type: Object relations
         - Name: Profiles
         - Identifier: profiles
         - Selection method: List with checkboxes
         - Allowed classes: profile
         - Is required: not checked
         - Searchable: checked
         - Default location: Tests

        4. Create a content for the new "article_2" class. Called it "13140 Test 1", and associated "Jeune Journaliste" content defined in step 2 to the "profile" object relations attribute:

        {noformat}
        Home
        Tests
        13140 Test 1
        {noformat}

        5. On Solr admin interface, execute this query:

        {noformat}
        /select?q=*:*&fq=meta_class_identifier_ms:article_2&wt=json&indent=true&facet=true&facet.field=attr_profiles_t
        {noformat}

        Result:

        {noformat}
        {
          "responseHeader": {
            "status": 0,
            "QTime": 8,
            "params": {
              "q": "*:*",
              "facet.field": "attr_profiles_t",
              "indent": "true",
              "fq": "meta_class_identifier_ms:article_2",
              "wt": "json",
              "facet": "true",
              "_": "1423594692695"
            }
          },
          "response": {
            "numFound": 1,
            "start": 0,
            "docs": [
              {}
            ]
          },
          "facet_counts": {
            "facet_queries": {},
            "facet_fields": {
              "attr_profiles_t": [
                "jeun",
                1,
                "journalist",
                1
              ]
            },
            "facet_dates": {},
            "facet_ranges": {},
            "facet_intervals": {}
          }
        }
        {noformat}

        This is not correct, since the values of "attr_profiles_t" are truncated - "jeun" should be "jeune", and "journalist" should be "journaliste".
        Petar Spanja (Inactive) made changes -
        Status InputQ [ 10001 ] Development [ 3 ]
        Hide
        Petar Spanja (Inactive) added a comment -

        This is not really a bug, but a Solr feature (has nothing to do with eZ Find as such). Here faceting is performed on a analyzed field, so individual values there are tokenized strings. In version 2.2 eZ Find introduced dedicated field types for attributes in faceting context, see:

        https://doc.ez.no/Extensions/eZ-Publish-extensions/eZ-Find/eZ-Find-2.2/What-s-new-in-eZ-Find-2.2
        https://doc.ez.no/Extensions/eZ-Publish-extensions/eZ-Find/eZ-Find-LS-5.2.0/Basic-Configuration/Configuration-settings-eZ-Find#solr

        And also:

        http://share.ez.no/forums/extensions/ez-find/facets-truncated-values-on-ezstring

        I'm closing this as invalid.

        Show
        Petar Spanja (Inactive) added a comment - This is not really a bug, but a Solr feature (has nothing to do with eZ Find as such). Here faceting is performed on a analyzed field, so individual values there are tokenized strings. In version 2.2 eZ Find introduced dedicated field types for attributes in faceting context, see: https://doc.ez.no/Extensions/eZ-Publish-extensions/eZ-Find/eZ-Find-2.2/What-s-new-in-eZ-Find-2.2 https://doc.ez.no/Extensions/eZ-Publish-extensions/eZ-Find/eZ-Find-LS-5.2.0/Basic-Configuration/Configuration-settings-eZ-Find#solr And also: http://share.ez.no/forums/extensions/ez-find/facets-truncated-values-on-ezstring I'm closing this as invalid.
        Petar Spanja (Inactive) made changes -
        Assignee Petar Spanja [ petar.spanja@ez.no ]
        Status Development [ 3 ] Closed [ 6 ]
        Resolution Invalid [ 6 ]
        Petar Spanja (Inactive) logged work - 02/Mar/15 5:31 PM
        • Time Spent:
          2 hours, 15 minutes
           

          investigating

        Petar Spanja (Inactive) made changes -
        Resolution Invalid [ 6 ]
        Status Closed [ 6 ] Reopened [ 4 ]
        Petar Spanja (Inactive) made changes -
        Remaining Estimate 0 minutes [ 0 ]
        Time Spent 2 hours, 15 minutes [ 8100 ]
        Worklog Id 53969 [ 53969 ]
        Petar Spanja (Inactive) made changes -
        Status Reopened [ 4 ] Closed [ 6 ]
        Resolution Invalid [ 6 ]
        André Rømcke made changes -
        Workflow eZ Engineering Scrumban Workflow [ 66169 ] EZ* Development Workflow [ 85712 ]
        Alex Schuster made changes -
        Workflow EZ* Development Workflow [ 85712 ] EZEE Development Workflow [ 124591 ]
        Transition Time In Source Status Execution Times Last Executer Last Execution Date
        Open Open Confirmed Confirmed
        5m 23s 1 nuno.oliveira@ez.no 10/Feb/15 8:23 PM
        Confirmed Confirmed InputQ InputQ
        13m 55s 1 Paulo Lopes (Inactive) 10/Feb/15 8:37 PM
        InputQ InputQ Development Development
        19d 14h 12m 1 Petar Spanja (Inactive) 02/Mar/15 10:50 AM
        Development Development Closed Closed
        2h 17m 1 Petar Spanja (Inactive) 02/Mar/15 1:08 PM
        Closed Closed Reopened Reopened
        43d 2h 24m 1 Petar Spanja (Inactive) 14/Apr/15 4:32 PM
        Reopened Reopened Closed Closed
        0s 1 Petar Spanja (Inactive) 14/Apr/15 4:32 PM

          People

          • Assignee:
            Unassigned
            Reporter:
            Nuno Oliveira (Inactive)
          • Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Time Tracking

              Estimated:
              Original Estimate - Not Specified
              Not Specified
              Remaining:
              Remaining Estimate - 0 minutes
              0m
              Logged:
              Time Spent - 2 hours, 15 minutes
              2h 15m