How Vicaya works

2004-10-27
2013-04-24
  • Hugo Gayosso
    Hugo Gayosso
    2004-10-27

    Alexander Genaud wrote the following I am just posting it here:

    There are two components: The Indexer and
    the Searcher. The Indexer need only be run
    once (on John's machine, perhaps). This
    generates the index which allows very fast
    searches at a later time.

    The Searcher is loaded into the browser as
    an applet. It reads the index (directory)
    from the local media and performs the query
    from the user input against the index. We
    then generate a temp HTML file on the local
    harddrive containing the search hits. We
    then tell the browser to open the temp file
    in the active window.

    The applet must be signed for all of that
    to work (read/write permissions). The
    application can simply bypass all the
    security restrictions, but because it is
    not running in a browser window, it has to
    jump through hoops to open the temp HTML
    file in the default system browser.

    All of that works (less or more). However,
    it's at that level that keeps me from supporting
    a few browser/platform combinations. IE/Mac
    comes to mind.

    You'll notice that for very obvious
    queries, the HTML file is quite large
    and takes a bit of time to generate and
    load in a browser. This isn't necessary at
    all. However, the alternatives are interesting.
    (1) Generate multiple pages with 10-20 hits
    per page. (2) Generate one page with 10-20
    hits and embed the applet in that page, add
    (next, previous) buttons in the applet and
    requery and retrieve the appropriate hits. I'm sure
    you could come up with others.

    Of course, there are a bunch of cosmetic features,
    that I'm not ready to care about yet (feel free
    to implement them) such as "return key" instead
    of searching after a button click. This list is
    inexhaustible though.

    While not (yet) required by ATI, I'd like to get
    this Unicode compliant.