Home » Forum


No announcement yet.

Search Speed

  • Filter
  • Time
  • Show
Clear All
new posts

  • Search Speed

    I administer a medium sized site (~8k pages + ~40k various .pdf/.doc/.xls files) and have been using ZoomIndexer for about a year.

    The "site" does not live on a webserver; it is a information repository for call center processors to reference while working. Due to security issues, we have yet to be allotted server space by our organization as the site carries a significant amount of proprietary information. Therefore, the "site" lives in a file structure on a network drive. Due to this, we have to use JS as the output for the indexes.

    I want to confirm: given this scenario, every time the end user performs a search of the "site", the search is limited to their own PCs system specs, correct? So every end user could theoretically have a different search experience, as there is no server side processing taking place. They're literally loading the search locally every time they use it, right?

    I've excluded all files types for the search, save .htm & .html; from my understanding, this would be the only way to "speed up" the search in this scenario.

    Just trying to optimize what we have and want to exhaust every possible resource.

    Thanks for the help!

  • #2
    Javascript runs client side & not on the file server.
    But the file server has to supply the index files used by the script. So it is still involved, at least until the files get cached on the local machine.

    In terms of performance Javascript is the worst option you could have selected. See this benchmark page for details. http://www.wrensoft.com/zoom/benchmarks.html

    In terms of other option available to you, when you aren't using a web server, see this page,

    Long term it probably make sense to run the search function on a web server however.


    • #3
      Thank you; unfortunately a web server is not an option at this point.

      Once the JS and search HTML files are cached locally, to search the entire site takes upwards of 20 seconds to output results. Does that seem excessively long given the size of the site I'm working on? Or is there a way to speed it up, still using JS? I've excluded all but .html and .htm files so I'm only searching ~8k pages.

      Any advice is greatly appreciated!


      • #4
        Is this search time reported by the built-in timing feature? (under "Configure"->"Search Page" there is an option to "Show time taken to perform search"). This would report the actual time spent in performing the search.

        However, with running the JavaScript version over a network (or over the Internet), the majority of the time is likely spent downloading the index files (zoom_index.js and other .js files) from the file server to the client browser.

        Typically the browser would cache these files, but you cannot easily control this. That is, while you may have accessed it once, if you access it again later, the cache may have refreshed and the browser may be required to re-download the files, which would again add to the access time of the search page.

        Note also if the search page (search.html) contains any other JavaScripts, Flash animations, or large images, etc. this could also be adding to the page time.

        Can you tell us:
        (1) How you are measuring the time taken.
        (2) If you are not already using the built-in timing feature, use this and let us know what it reports
        (3) What is the total file size of the index files (all files listed in the "Required files" window at the end of indexing). This would be the "zoom_index.js" file, "zoom_pageinfo.js" file, "settings.js" file etc.)

        20 seconds for searching ~8k html pages does seem alot so we should clarify the above. But naturally this would also depend on how much data is on each of these HTML pages (a 30 KB HTML page is very different from a 1 MB HTML page).
        Wrensoft Web Software
        Sydney, Australia
        Zoom Search Engine


        • #5
          Might also be interesting to know the details of the hardware in use (CPU, RAM, etc..)
          And also interesting to try a different browser. e.g. Chrome if you are currently using IE.