Opened 13 years ago

Closed 13 years ago

#403 closed enhancement (fixed)

Indexing / Performance improvements

Reported by: fxp Owned by: Fxp
Priority: minor Milestone: v2.7.0
Component: General Version: v2.6.1
Keywords: Cc:

Description

Profiling indexing XSL shows that most of the time is spent on the "any" field indexing with recursive templates merging all tags content (see screenshot attached).

This patch suggests the following improvements:

  • replace recursive allText template by a simple normalize-space(root) call which will merge all tags content + @codelistvalues
  • use XSLv2 for lower-case function instead of custom translate function
  • Bounding box
    • round coordinates to 2 decimals to speed up geographic numeric range search
    • do not try to index non numerics
  • disable codelist indexing (which are not available in search)

XSL part of the indexing process is much faster. Indexing "Hydrological Basins in Africa" (XSL only) :

  • Before : 40 to 60ms
  • After : 9 to 12ms

Some more numbers to compare 2.4.3, 2.6 and trunk with this patch: http://www.neogeo-online.net/blog/archives/482/

Attachments (2)

indexing_xsl_profiling.png (50.3 KB ) - added by fxp 13 years ago.
403.patch (12.7 KB ) - added by fxp 13 years ago.

Download all attachments as: .zip

Change History (4)

by fxp, 13 years ago

Attachment: indexing_xsl_profiling.png added

by fxp, 13 years ago

Attachment: 403.patch added

comment:1 by fxp, 13 years ago

Priority: majorminor

comment:2 by fxp, 13 years ago

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.