Cet article est aussi disponible en français.
Workplace Search provides a very nice and easy way to search within all the documents you have within your company/entity.
You can get content from various sources, like Github, Dropbox, Box, Google Drive...
Cool, right?
Faceted navigation for default sources
The standard sources come with a default set of fields for faceted navigation. For example, when you select a GitHub source, it comes with:
The Custom Source API
Two years ago, I explained how to use the Custom Source API to add your own source to Workplace Search.
But the default behavior for faceted navigation might not fit your business needs. For example, with Elastic 8.5.0, the default behavior when using FSCrawler as a provider gives the following facets:
You can see the facets panel on the left is pretty much empty, although by default FSCrawler generates the following fields:
"body": "text",
"comments": "text",
"tags": "text",
"title": "text",
"type": "text",
"url": "text",
"extension": "text",
"mime_type": "text",
"path": "text",
"size": "number",
"created_by": "text",
"name": "text",
"language": "text",
"text_size": "number",
"created_at": "date",
"last_modified": "date"
Implementing our own facets
To add your own facets, you need to define them when you create the Workplace Search Schema using the facets.overrides
array. Simply provide an object for each facet which contains:
-
display_name
: the name of the facet you want to display -
field
: which field is used to compute the facet values and perform the filter on -
enabled
: must betrue
if you want to enable faceted navigation
For example, in FSCrawler, we defined the following facets:
"facets": {
"overrides": [
{ "display_name": "Media Type", "field": "mime_type", "enabled": true },
{ "display_name": "Extension", "field": "extension", "enabled": true },
{ "display_name": "Tags", "field": "tags", "enabled": true },
{ "display_name": "Created By", "field": "created_by", "enabled": true },
{ "display_name": "Language", "field": "language", "enabled": true }
]
}
When you revisit the search interface, you can now see the facets in action.
Pro tip: if you use the same facet names and field names as the Workplace Search standard sources, you will be able to display facets and use filters on all sources at the same time.
Documentation: Customizing content source filters | Workplace Search Guide [8.5] | Elastic