AJAX search in a tag cloud with a dynamic context-sensitive rating. Prototype

    An idea arose in the creation and implementation of a search engine based on the
    AJAX cloud with a context-sensitive tag rating. A possible application is a bulletin board with a convenient search,
    stimulating the input of informative messages.

    image

    A prototype system was created.

    System Features:

    • Search by a set of tags - the system searches for data that contains all the specified tags, which
      allows you to refine the request.
    • Dynamic tag cloud - works in the mode of prompting words when editing a query,
      as well as in the mode of prompting tags with which you can refine the query when completing the next word.
    • Emulation of a local database - when entering a query, a search is made in the local array. In parallel there is a request to the server.
      The response from the server expands the local array and the search result.
    • Graphical relevance score

    The prototype created implements the described behavior, but there are problems
    that prevent the project from being put into operation.

    Below is additional information and a link to the implementation of the prototype.

    UPD The purpose of the publication is an attempt to move a stopped project from a dead point.
    Perhaps some solutions will be useful to readers.


    The client side is written in Javascript, without the use of third-party libraries,
    which allowed to achieve a minimum size (<8KB) and high speed.

    The main problem is the performance of server requests.
    At the moment there are about 500 tags in the database and a low execution speed is already observed.
    The slowest - to determine the rating of tags in the cloud for the current request.
    In the request, for the entered tags, it is necessary to search for all posts containing them,
    select the remaining tags from them and sort them by occurrence in the current request.
    Most likely, caching cannot be applied - there are too many unique requests.

    An additional problem is the assessment of the relevance of tags.
    At the moment, the system does not take into account the semantic load of tags and their order in the post.
    This leads to the fact that the most rated are tags that do not carry meaning (unions, prepositions).
    Although the complexity of the algorithm for determining the rating will lead to an even greater drop in performance.

    Source code - code.google.com/p/mytagdb/downloads/list
    Online prototype - www.ajax.idhost.kz/tag

    In the comments, I would like to discuss ways to increase productivity and improve relevancy of the issue.

    Also popular now: