Curiosity automatically expand search results with filters generated from your data and from the connections your data has on the knowledge graph. Filters (also known as facets) are useful to refine search results so that your users can focus on what is relevant for their search query. Filters will usually appear on the left side of your search results, as you can see below:

It's important to provide your users relevant filters to navigate your data. By default, Curiosity will show filters for your data types, a unified time filter that is computed from the built-in Timestamp property, and relevant filters any data types found in the search results, from fields contents and from relationships your results have in the knowledge graph.

(Note: The following settings can all be accessed in two ways; you can configure multiple node types in one operation, which is ideal when first setting up an application, by going to Settings and then search, or you can configure individual node types as you add then in the Data Hub - both routes will be described in this article)

Time Filters

The default out of the box time filter uses a built-in field that every node in the graph has, called Timestamp. This value is aggregated into a histogram, that can be easily filtered by dragging the makers on the bottom of the chart, or by typing a natural language query in the search box or directly in the time filter:

As not every data type has relevant time information, you should add any data types to be excluded from the time filter within the search settings page.

(This setting is available in the Data Hub by clicking Other settings when you are in the edit view for a node type)

Property Filters

Property filters are data-specific filters that are indexed and made available during search. Supported data types are strings, numeric fields and other time fields besides the default Timestamp field.

Curiosity has a special case handling for any field with name "Source". If you configure a property facet for it, it will be merged into a single "Source" filter shown on the search results:

Other property filters are kept separately per data type, such as File > Type and File > Size:

(This setting is available in the Data Hub by clicking Property Facets and then + Add more when you are in the edit view for a node type)

One of the unique features of Curiosity is the use of the built-in knowledge graph to allow you to explore and refine your search results, without having to constantly change your data model. These filters can be configured in the Related Facets section, and are generated at search time using relationships your data has in the knowledge graph. Imagine, for example, an Article is connected to Authors and Institutions, or a Part is related to a Manufacturer.

These filters will appear on search results with the icon of the data type they represent, such as the Author and Mission filters below:

(This setting is available in the Data Hub by clicking Other settings when you are in the edit view for a node type)

The Related Filters examples above illustrate how to enable filters for directly-connected related nodes (eg. filtering Article search results by the Author that they are related to - ie. an Author node that the Article node has an edge to).

The Inferred Edges article explains how rules may be defined in the system that will create "virtual" (or "inferred") edges between nodes that are not directly connected. For example, if an Article is related to an Author and they are related to an Organization then the Article and the Organization are not directly connected but they are indirectly connected via the Author, meaning that an "inferencing rule" may be specified that connects the Article to the Organization through an inferred edge.

Inferred edges may be utilised to create Related Filters—to continue the example above, it would be possible to have a search on Articles and to filter by Organization if there was an inferred edge rule configured to connect Article to Organization via Author. However, as well as having the Organization node type configured to Emit Facet (as shown above), you must also enable a setting on Article first..

Go to Settings, Search, Inferencing for Facets and then clicking + Add More and select the node that you will searching for -

In our example, we're searching in Article node type and want a facet to appear in the search result so that we can filter the results by Organization,

Note: This setting is available in the Data Hub by clicking Other settings when you are in the edit view for a node type -

The Enable inferencing during facet computation option must be explicitly enabled for node types that use inferred edges to presenting Related Facet options because calculating the inferred edges can be expensive depending upon the shape of your graph, meaning that the loading of the refinement options on search results pages can be slow.

Did this answer your question?