Ticket #403 (closed enhancement: fixed)

Opened 2 years ago

Last modified 2 years ago

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

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

Change History

Changed 2 years ago by fxp

Changed 2 years ago by fxp

Changed 2 years ago by fxp

  • priority changed from major to minor

Changed 2 years ago by fxp

  • status changed from new to closed
  • resolution set to fixed

r6974

Note: See TracTickets for help on using tickets.