private buildQuery()

in packages/search-ui-elasticsearch-connector/src/queryBuilders/ResultsAutocompleteBuilder.ts [46:71]


  private buildQuery(): SearchRequest["query"] | null {
    const filters = (this.configuration.filters || []).map(transformFilter);

    if (!this.state.searchTerm && !filters?.length) {
      return null;
    }

    const fields = getQueryFields(this.configuration.search_fields || {});

    return {
      bool: {
        ...(filters?.length && { filter: filters }),
        ...(this.state.searchTerm && {
          must: [
            {
              multi_match: {
                query: this.state.searchTerm,
                type: "bool_prefix",
                fields
              }
            }
          ]
        })
      }
    };
  }