跳转到主内容

博客

Coveo Headless

返回

Coveo Headless

发布于 2023-11-13 18:25·5 分钟阅读
Coveo

Set up the basic Coveo:

  1. Create source - source coveo_test_index. (Select whatever way you want to get your source)

    

 

    

  2. Create a query pipeline

    1). Overview => Identify your information. On Confidtion, you can set up the search hub(Search Hub is Test). Note: The search hub is not defined by coveo platform, it is passed by your search engine.

1
2
3
4
5
6
7
8
// Coveo headless search engine configuration 
const configuration: SearchEngineConfiguration = {
  organizationId: process.env.COVEO_ORIGANIZATION_ID || '',
  accessToken: process.env.COVEO_ACCESS_TOKEN || '',
  search: {
    searchHub: 'Test',
  },
};

  

    2). Advanced => filter: configure which source you want for this query pipeline by using `aq: @source==( coveo_test_index)`   

      

   3. Create the API key for the application. API key has different rights. so make sure the API key will not enforce other specific search hubs.

    1). Create a new API key with the search hub is Test.

      

      Note: using the Anonymous search preset is easier. Otherwise, you need to add the Execute queries right.

 

  4. Facets

    1). If you want to create your own facet, you should:

      a. create the fields => add field -- set as facet and add Facet Generator.

      b. source => your source => more => manage mappings =>add mapping item =>select the filed you created and specify the rules that to match the meta tag name

      c. rebuild the source

  5. Query suggestion:

    1). Need both search event track and click event track on your application.

    2). Use the state of the searchBoxState to map it.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import {
  SearchBoxOptions,
  buildSearchBox,
} from '@coveo/headless';
 
const options: SearchBoxOptions = {
  numberOfSuggestions: 10,
  highlightOptions: {
    notMatchDelimiters: {
      open: '<span>',
      close: '</span>',
    },
    exactMatchDelimiters: {
      open: '<strong>',
      close: '</strong>',
    },
  },
};
export const searchBox = buildSearchBox(searchEngine, { options });

  

Coveo Headless | 宁鑫