Uploaded image for project: 'James Server'
  1. James Server
  2. JAMES-2080

ES mapping: avoid using nested and use object if this affect performance

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Open
    • Major
    • Resolution: Unresolved
    • None
    • None
    • elasticsearch
    • None

    Description

      This ticket should be done after https://issues.apache.org/jira/browse/JAMES-2078.
      On our mapping we use nested for header, from, cc, bcc. We know theoretically that nested do reduce performance (creation of invisible document to handle nested value) so when possible object should be used instead.

      In a first time, you should monitor how important the performance is. If the performance lost introduced by nested is significant then, you should estimate and found a work around about the lost of information see:

      For the moment, we think this lost of information is not a issue for FROM, CC, BCC.
      But for sure, it will be a issue for headers. A way to work arround it would be to transform the following:
      { headers: [

      {key: "key1", value: ["value1", "value2"]}

      , {key: "key2", value: "something"}}
      To that:

      { headers: ["key1:value1", "key1:value2", "key2:something"] }

      But reflexion need to be done too see if this will work for the kind of query we need to do in the headers.

      Attachments

        Activity

          People

            Unassigned Unassigned
            lduzan Luc DUZAN
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:

              Time Tracking

                Estimated:
                Original Estimate - Not Specified
                Not Specified
                Remaining:
                Remaining Estimate - 0h
                0h
                Logged:
                Time Spent - 1.5h
                1.5h