RelevanceInspector

The RelevanceInspector controller is in charge of allowing displaying various debug information.

Methods

disable

Disables debug mode.

disableFetchAllFields

Disable fetching all available fields from the index.

enable

Enables debug mode.

enableFetchAllFields

Fetch all fields available from the index on each individual results.

fetchFieldDescriptions

fetchFieldsDescription

Fetch the description of all fields available from the index.

subscribe

Adds a callback that’s invoked on state change.

Parameters

  • listener: () => void

    A callback that’s invoked on state change.

Returns Unsubscribe: A function to remove the listener.

Attributes

state

The state of the RelevanceInspector controller.

Properties

Initialize

buildRelevanceInspector

Creates a RelevanceInspector controller instance.

Parameters

  • engine: SearchEngine

    The headless engine.

  • props: RelevanceInspectorProps

    The configurable RelevanceInspector properties.

Returns RelevanceInspector

RelevanceInspectorProps

The configurable RelevanceInspector properties.

Properties

RelevanceInspectorInitialState

The initial state that should be applied to the RelevanceInspector controller.

Properties

  • enabled?: boolean

    Whether debug mode should be enabled.

ExecutionReport

Properties

  • children: ExecutionStep[]

    The steps involved in processing the query.

  • duration: number

    The total time, in milliseconds, needed to process the query.

ExecutionStep

Properties

  • [key: string]: unknown

    Custom keys for the step, holding additional debugging information.

  • description: string

    The step description.

  • duration: number

    The time, in milliseconds, spent on the step.

  • name: string

    The step name.

  • children?: ExecutionStep[]

    The sub-steps making up the step.

  • result?: Record<string, unknown>

    The values returned by the step.

FieldDescription

Properties

  • defaultValue: string

    The default value of the field.

  • description: string

    A modest description of the field.

  • fieldSourceType: string

    The fieldSourceType.

  • fieldType: string

    The fieldType (eg., Date, Double, Integer, LargeString, Long, SmallString).

  • groupByField: boolean

    Whether the field is considered groupBy (facet).

  • includeInQuery: boolean

    Whether the field can be referenced in a query.

  • includeInResults: boolean

    Whether the field is returned with results.

  • name: string

    The field name.

  • sortByField: boolean

    Whether the field can be used to sort results.

  • splitGroupByField: boolean

    Whether the field is considered splitGroupBy (ie., facet with values delimited by ;).

  • type: string

    The field type.

HighlightKeyword

Properties

  • length: number

    The length of the offset.

  • offset: number

    The 0 based offset inside the string where the highlight should start.

QueryExpressions

Properties

  • advancedExpression: string

    The dynamic filter expression, sent as the aq parameter in the request.

  • basicExpression: string

    The search query.

  • constantExpression: string

    The static filter expression, typically set by a Tab.

QueryRankingExpression

Properties

  • expression: string

    The query ranking expression (QRE).

  • modifier: string

    The change to the ranking score applied by the query ranking expression (QRE).

Raw

Properties

  • [key: string]: unknown

    Custom keys that depend on the documents in the index.

Result

Properties

  • absentTerms: string[]

    The basic query expression terms which this query result item does not match. Note: This property is populated by terms from the query pipeline-processed q value (not from the original q value).

  • clickUri: string

    The hyperlinkable item URI. Notes: Use the clickUri value when you want to create hyperlinks to the item, rather than the uri or printableUri value.

  • excerpt: string

    The contextual excerpt generated for the item (see the excerptLength query parameter).

  • excerptHighlights: HighlightKeyword[]

    The length and offset of each word to highlight in the item excerpt string.

  • firstSentences: string

    The first sentences retrieved from the item (see the retrieveFirstSentences query parameter).

  • firstSentencesHighlights: HighlightKeyword[]

    The length and offset of each word to highlight in the item firstSentences string.

  • flags: string

    The flags that are set on the item by the index. Distinct values are separated by semicolons.

  • hasHtmlVersion: boolean

    Whether the index contains an HTML version of this item.

  • isRecommendation: boolean

    Whether the item score was boosted as a Coveo ML recommendation.

  • isTopResult: boolean

    Whether the item score was boosted by a featured result rule in the query pipeline.

  • percentScore: number

    The item ranking score expressed as a percentage (see the sortCriteria and rankingFunctions query parameters).

  • printableUri: string

    The human readable item URI. Note: Avoid using the printableUri value to create hyperlinks to the item. Use the clickUri value instead.

  • printableUriHighlights: HighlightKeyword[]

    The length and offset of each word to highlight in the item printableUri string.

  • rankingInfo: string | null

    The raw debug information generated by the index to detail how the item was ranked. This property is null unless the debug query parameter is set to true.

  • raw: Raw

    The values of the fields which were retrieved for this item (see the fieldsToInclude and fieldsToExclude query parameters).

  • score: number

    The total ranking score computed for the item (see the sortCriteria and rankingFunctions query parameters).

  • summary: null

    The item summary (see the summaryLength query parameter).

  • summaryHighlights: HighlightKeyword[]

    The length and offset of each word to highlight in the item summary string.

  • title: string

    Contains the title of the item.

  • titleHighlights: HighlightKeyword[]

    The length and offset of each word to highlight in the item title string.

  • uniqueId: string

    The unique item identifier. You should consider the uniqueId value as an opaque string.

  • uri: string

    The item URI. Notes: Avoid using the uri value to create hyperlinks to the item. Use the clickUri value instead.

  • rankingModifier?: string

    If applicable, represents the type of ranking modification that was applied to this result.

ResultRankingInformation

Properties

  • ranking: RankingInformation | null

    The ranking information for the associated result.

  • result: Result

    The result.

SecurityIdentity

Properties

  • name: string

    The security identity name.

  • provider: string

    The security identity provider.

  • type: string

    The security identity type. Possible values are USER, GROUP, VIRTUAL_GROUP, or UNKNOWN.

Unsubscribe

Call signatures

  • (): void

Example Implementation

relevance-inspector.fn.tsx

import {useEffect, useState, FunctionComponent} from 'react';
import {RelevanceInspector as HeadlessRelevanceInspector} from '@coveo/headless';
 
interface RelevanceInspectorProps {
  controller: HeadlessRelevanceInspector;
}
 
export const RelevanceInspector: FunctionComponent<RelevanceInspectorProps> = (
  props
) => {
  const {controller} = props;
  const [state, setState] = useState(controller.state);
 
  useEffect(
    () =>
      controller.subscribe(() => {
        console.info('Debug information [fn]', controller.state);
        setState(controller.state);
      }),
    []
  );
 
  return (
    <div>
      <label>
        Enable debug mode:{' '}
        <input
          type="checkbox"
          checked={state.isEnabled}
          onChange={() =>
            state.isEnabled ? controller.disable() : controller.enable()
          }
        />
      </label>
      <label>
        Enable fetch all fields:{' '}
        <input
          type="checkbox"
          checked={state.fetchAllFields}
          onChange={() =>
            state.fetchAllFields
              ? controller.disableFetchAllFields()
              : controller.enableFetchAllFields()
          }
        />
      </label>
      <button onClick={() => controller.fetchFieldsDescription()}>
        {' '}
        Retrieve fields description
      </button>
    </div>
  );
};
 
// usage
 
/**
 * ```tsx
 * const controller = buildRelevanceInspector(engine);
 *
 * <RelevanceInspector controller={controller} />;
 * ```
 */
What's Next for Me?