TRY ME

Try Valo for free

We want to show you something amazing.

We'll send you a link to download a fully functional Valo copy to play with.



Great! Check your email and enjoy Valo



Apologies, we seem to be having a problem processing your input, please try again

TaxonomiesΒΆ

Taxonomies are used to classify documents at index time in order to provide a very fast way if drilling into search results and to get a general overview of what data a result set contains.

A taxonomy represents a single value, or a hierarchy of values extracted from a payload. Consider the following payload schema:

{
    "os": {
      "name": {
        "type": "string"
      },
      "version": {
        "type": "string"
      }
    },
    "arch": {
      "type": "string"
    },
    "lastUpdated": {
      "type": "datetime"
    }
  }

I can then specify a taxonomy which classifies the documents as; [os.name, os.version, arch]. At index time, a taxonomy index is created which might look something like this:

  • Windows (40)
    • XP (35)
      • x32 (13)
      • x64 (22)
    • Vista
      • x32 (5)
  • Linux (1)
    • Ubuntu (1)
      • x64 (1)

Currently only the SSR repository supports taxonomy indexing.

The taxonomies are defined on a stream by updating the taxonomy document as the following example illustrates:

PUT /streams/demo/infrastructure/cpu/taxonomy HTTP/1.1

{
   "taxonomy": {
      "nodes": [
         {
            "name": "OS",
            "expression": [
               "os.name",
               "os.version"
            ]
         },
         {
            "name": "date",
            "expression": [
               "year(timestamp)",
               "month(timestamp)",
               "day(timestamp)"
            ]
         }
      ]
   }
}