Interface

Query Interface / Search client

För att göra det bästa av resultatet låter Corpus klienten förhandstitta på resultatet innan hela resultatet skickas över till klienten.

På detta vis kan klienten/gränsnittet styra och forma resultatet så det passar bättre.

Resultatet kan även användas för att ställa nya frågor till Corpus.

Query object parser(String)

token (or regexp: tok* or *ken)
+token must include word (ex: +author:ben)
-token must exclude word (ex: -cows)
+=token exclude all other where word is not present (derived in resolver)
@domain (ex @http://www.illuminet.se/corpus)
&filter must include (ex: &form)
!filter must exclude (ex: !java)

QueryResolver/QueryServer process

The QueryResolver function returns a query result.

Process:

  1. Weight freetext relevance based on enumeration of words (first highest)
  2. Set Corpus domain (directory)
  3. Regexpand words (mysql only)
  4. Reduce to baseform
  5. Log into query net (background)
  6. Expand free text (with strong conceptual relations)
  7. Match concept net
  8. Index-resolve: title: free text
  9. Index-resolve: keywords: free text
  10. Index-resolve: [metadata]:[words] (simple)
  11. Assemble filters (exclude include, used below)
  12. Index-resolve: freetext from wordIndex (the big one)
  13. Index-resolve: remove "-" words
  14. Merge results (phase 1)
  15. Excluive (AND) (+) 3.5 freetext filter "+"

  16. ++ does metadata too
    ++ does interpret "+=" '=' as do not insert after (narrowing parameter)
  17. Exclude (NOT) (-) freetext and/or metadata
  18. Merge result
  19. Check relevance/size ratio calculate cut-off
  20. Package and deliver properties (tips,size) and ResultSet as QueryResult
  21. QueryResult modifiers

    Result set to URLInfo sorting and filtering, gathering of overview and more.

    Grouping

    only:[tag] filter out the ones with metadata key
    unique:[tag] sort out only first occurence of metadata
    metasort:[tag](num,dsc) sort by text or number, ascending or descending
    domain by tree/URL and volume
    type:[tag] cluster results with keys in metadata (keywords/special)

    Filtering

    range:[tag],first,last Ex: range:modified,1999-03-20,2001-01-23
    match([tag]:[value]) takes wildcards, Ex: match(modified:*1999-08-*)

    And the essence - Overview

    Create a set of overview directories
    contact - crew - events - software - login
    User friendly document oriented solutions with Metadata and XML.
    Open infrastructure for information discovery and structure.
    This page:
  22. print-version
  23. metadata
  24. comment
  25. Latest news: