Snippet
components.Snippet({
attribute: string,
hit: object,
// Optional parameters
highlightedTagName: string,
nonHighlightedTagName: string,
separator: string,
cssClasses: object,
});
About this widget
The snippet function returns attributes in your search results in a shorter form (a snippet). Snippeted attributes are also highlighted.
This function uses Algolia’s snippeting feature in combination with the hits or infiniteHits widgets.
To determine which attributes should be snippeted, first set them from the Algolia dashboard, the CLI, or with the API (using the attributesToSnippet parameter):
1
2
3
4
5
search.addWidgets([
configure({
attributesToSnippet: ['description'],
})
]);
With attributesToSnippet, you can also set the snippet’s size to a specific number of words (it defaults to 10). For example, attributesToSnippet: ['description:5'].
Examples
1
2
3
4
5
6
7
8
9
10
11
hits({
container: '#hits',
templates: {
item(hit, { html, components }) {
return html`
<h2>${hit.name}</h2>
<p>${components.Snippet({ attribute: 'description', hit })}</p>
`;
},
},
});
Options
attribute
|
type: string
Required
The attribute of the record to snippet. For deeply nested objects, specify a dot-separated value like |
||
|
Copy
|
|||
hit
|
type: object
Required
Original |
||
|
Copy
|
|||
highlightedTagName
|
type: string
default: mark
Optional
The name of the HTML element to wrap the snippeted parts of the string. |
||
|
Copy
|
|||
nonHighlightedTagName
|
type: string
default: "span"
Optional
The HTML element that wraps the non-highlighted parts of the string. |
||
|
Copy
|
|||
separator
|
type: string
default: ", "
Optional
The character between each item when the attribute to highlight is an array. |
||
|
Copy
|
|||
cssClasses
|
type: object
default: {}
Optional
The CSS classes you can override:
|
||
|
Copy
|
|||
HTML output
1
<span>This is the <mark class="ais-Snippet-highlighted">highlighted text</mark></span>