# Hyper Estraier

a full-text search system for communities

## What is This?

This is a full-text search system. You can search for documents including some specified words.

## How to Use

Input search phrase into the field at the top of the page. For example, if you search for documents including "computer", input the following.

    computer

If you search for documents including both of "network" and "socket", input the following.

    network socket

It is the same as the following.

    network & socket

If you search for documents including "network" followed by "socket", input the following.

    "network socket"

If you search for documents including one or both of "network" and "socket", input the following.

    network | socket

If you search for documents including "network" but without "socket", input the following.

    network ! socket

Note that the priority of "`|`" is higher than that of space, "`&`", and "`!`". So, the following is to search for documents including one of "F1", "F-1", "Formula One", and including one of "champion" and "victory".

    F1 | F-1 | "Formula One" & champion | victory

If you search for documents including some words beginning with "inter", input the following.

    inter*

If you search for documents including some words ending with "sphere", input the following.

    *sphere

If you search for documents matching some words matching regular expressions of "^un.*able$", input the following.

    *^un.*able$*

## Search with an Attribute

If you search for documents whose title includes "introduction", input the following into "`with [...]`" field.

    @title STRINC introduction

If you want to ignore case, input the following.

    @title ISTRINC introduction

If you search for documents whose size is less than 10000 bytes, input the following.

    @size NUMLT 10000

The following attributes are supported.

- @uri : the URI (URL)
- @title : the title, as with "Subject" of mail
- @author : the name of the author, as with "From" of mail
- @cdate : the creation date, as with "Date" of mail
- @mdate : the modification date, as with "Date" of mail
- @size : the size (file size)

The following operators for attributes are supported.

- STREQ : is equal to the string
- STRNE : is not equal to the string
- STRINC : includes the string
- STRBW : begins with the string
- STREW : ends with the string
- STRAND : includes all tokens in the string
- STROR : includes at least one token in the string
- STROREQ : is equal to at least one token in the string
- STRRX : matches regular expressions of the string
- NUMEQ : is equal to the number or date
- NUMNE : is not equal to the number or date
- NUMGT : is greater than the number or date
- NUMGE : is greater than or equal to the number or date
- NUMLT : is less than the number or date
- NUMLE : is less than or equal to the number or date
- NUMBT : is between the two numbers or dates

If an operator is leaded by "`!`", the meaning is inverted. If an operator is leaded by "`I`", case of the value is ignored. If no operator is specified, all documents with the attribute correspond regardless of the value. `STRAND`, `STROR`, `STROREQ`, and `NUMBT` take plural parameters separated by space. Range of `NUMBT` is inclusive of border values. Two or more attribute names can be listed with separated by "`,`" to mean logical addition.

## Order of the Result

By default, the order of the result is descending by score. If you want ascending order of title, input the following into the "`order by [...]`" field.

    @title STRA

If you want descending order of the size, input the following.

    @size NUMD

The following operators for order are supported.

- STRA : ascending by string
- STRD : descending by string
- NUMA : ascending by number or date
- NUMD : descending by number or date

## Other Faculties

"`[...] per page`" specifies the number of shown documents per page. If documents over one page correspond, you can move to another page via anchors of "`PREV`" and "`NEXT`" at the bottom of the page.

"`clip by [...]`" specifies strength of clipping similar documents. It is useful if too similar documents occupy the page.

Each of "`[detail]`" links in the result is to show detail information. Each of "`[similar]`" links in the result is to search for similar documents. Each of "`[include]`" links in the result is to include clipped documents.

## Information

See the project site for more detail.