snippet
snippet({
  attribute: string,
  hit: object,
  // Optional parameters
  highlightedTagName: string,
});
        1
import { snippet } from 'instantsearch.js/es/helpers';
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. It’s available as a string and as a function.
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
hits({
  container: '#hits',
  templates: {
    item: `
      <h2>{{ name }}</h2>
      <p>{{#helpers.snippet}}{ "attribute": "description" }{{/helpers.snippet}}</p>
    `,
  },
});
      Options
| Parameter | Description | ||
|---|---|---|---|
          
            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
 
       | 
      |||
HTML output
1
<span>This is the <mark class="ais-Snippet-highlighted">highlighted text</mark></span>