-
Notifications
You must be signed in to change notification settings - Fork 1
Home
Welcome to the irma wiki!
Irma is
- a tool for creating simple APIs to filter/search documents in an elasticsearch index
- a small server to host client code and other static assets.
Elasticsearch is very flexible and it needs to have a very powerful and expressive query language. A single applications, however, will typically only use a small subset of all that expressive power.
Irma is very opinionated about how applications should do search:
- There should be some kind of full-text search.
- There should be a set of facets to filter documents on.
When the end-user gives us a list of search terms (white-space separated... things) we assume that she only wants to see documents that contain each of the terms somewhere. (This is subject to change, see Issue #5 )
We assume that the existing facets and their respective foci are presented in some way to the end-user. When the end-user selects one or more foci from one particular facet, we assume that she only wants to see results that contain at least one of that foci. All other facets are ignored.
Both, search and filter are done in a single request to /{document type}/search. Example:
GET /{document type}/search?q=some+search+terms&category=1,5,42&color=red,blue
The result would contain documents that
- contain the words "some", "search" and "terms"
- and belong to category 1, 5 or 42
-
and have the color
redorblue