# \[Search UI\] Elasticsearch connector throwing error in connector.onAutocomplete

**URL:** <https://discuss.elastic.co/t/search-ui-elasticsearch-connector-throwing-error-in-connector-onautocomplete/310174>\
**Category:** Elastic Search\
**Created:** [July 20, 2022, 3:10pm UTC](https://discuss.elastic.co/t/search-ui-elasticsearch-connector-throwing-error-in-connector-onautocomplete/310174 "2022-07-20T15:10:30Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![4miin3](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/4miin3/32/108587_2.png) [@4miin3](https://discuss.elastic.co/u/4miin3)\
**Post date:** [July 20, 2022, 3:10pm UTC](https://discuss.elastic.co/t/search-ui-elasticsearch-connector-throwing-error-in-connector-onautocomplete/310174/1 "2022-07-20T15:10:30Z")

</div>

Hello I followed this tutorial [Search UI with Elasticsearch | Elastic Documentation](https://docs.elastic.co/search-ui/tutorials/elasticsearch) and used my own index schema. but I can't get connector.onAutocomplete to work. here is an example:

```auto
config = {
   ...search_config
      suggestions: {
         types: {
            documents: { fields: ['type'] },
         },
       size: 4,
       },
    apiConnector: apiConnector
}

```

I also moved the connector logic to a nextjs backend following [NextJS with Elasticsearch Connector | Elastic Documentation](https://docs.elastic.co/search-ui/guides/nextjs-integration) and when I trigger `await connector.onAutocomplete(requestState, queryConfig);` I get the following error:

```auto
Cannot read property 'suggest' of undefined
    at CompletionSuggester.<anonymous> (/Users/amineafia/projects/blocktorch/blocktorch-app/node_modules/@searchkit/sdk/lib/cjs/suggestors/CompletionSuggestor.js:40:47)
    at Generator.next (<anonymous>)
    at fulfilled (/Users/amineafia/projects/blocktorch/blocktorch-app/node_modules/@searchkit/sdk/lib/cjs/suggestors/CompletionSuggestor.js:5:58)
    at runMicrotasks (<anonymous>)
    at processTicksAndRejections (internal/process/task_queues.js:95:5) {stack: 'TypeError: Cannot read property 'suggest' of …ctions (internal/process/task_queues.js:95:5)', message: 'Cannot read property 'suggest' of undefined'}

```

Can you please help! what am I missing?

Happy to offer more information if needed

---

<div class="post-metadata">

**Author:** ![joemcelroy](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/joemcelroy/32/103757_2.png) [@joemcelroy](https://discuss.elastic.co/u/joemcelroy)\
**Post date:** [July 20, 2022, 3:52pm UTC](https://discuss.elastic.co/t/search-ui-elasticsearch-connector-throwing-error-in-connector-onautocomplete/310174/2 "2022-07-20T15:52:43Z")

</div>

Hey! Is the field `type` a completion type? Could you share the mapping for `type` field

Joe

---

<div class="post-metadata">

**Author:** ![4miin3](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/4miin3/32/108587_2.png) [@4miin3](https://discuss.elastic.co/u/4miin3)\
**Post date:** [July 21, 2022, 8:51am UTC](https://discuss.elastic.co/t/search-ui-elasticsearch-connector-throwing-error-in-connector-onautocomplete/310174/3 "2022-07-21T08:51:02Z")

</div>

Here is the mapping:

```auto
{
 "properties":
  #other_mappings...
      "type": {
         "type": "text",
            "fields": {
               "keyword": {
                  "type": "keyword",
                  "ignore_above": 256
               },
          "suggest": {
             "type": "search_as_you_type",
             "doc_values": false,
             "max_shingle_size": 3
          }
        }
      }

```

I added the "search\_as\_you\_type" type is the right type for autocomplete right?

---

<div class="post-metadata">

**Author:** ![joemcelroy](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/joemcelroy/32/103757_2.png) [@joemcelroy](https://discuss.elastic.co/u/joemcelroy)\
**Post date:** [July 21, 2022, 9:37am UTC](https://discuss.elastic.co/t/search-ui-elasticsearch-connector-throwing-error-in-connector-onautocomplete/310174/4 "2022-07-21T09:37:54Z")

</div>

Ah it needs to be a completion type and the field you need to use is "type.suggest" rather than "type". [Suggesters | Elasticsearch Guide [7.17] | Elastic](https://www.elastic.co/guide/en/elasticsearch/reference/7.17/search-suggesters.html#completion-suggester)

update the configuration to

`documents: { fields: ['type.suggest'] },`

The mapping should look like this:

```auto
      "type": {
         "type": "text",
            "fields": {
               "keyword": {
                  "type": "keyword",
                  "ignore_above": 256
               },
          "suggest": {
             "type": "completion"
          }
        }
      }

```

Hope this helps.

Joe

---

<div class="post-metadata">

**Author:** ![4miin3](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/4miin3/32/108587_2.png) [@4miin3](https://discuss.elastic.co/u/4miin3)\
**Post date:** [July 21, 2022, 11:34am UTC](https://discuss.elastic.co/t/search-ui-elasticsearch-connector-throwing-error-in-connector-onautocomplete/310174/6 "2022-07-21T11:34:34Z")

</div>

Thank you for your help joemcelroy!!

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [August 18, 2022, 11:35am UTC](https://discuss.elastic.co/t/search-ui-elasticsearch-connector-throwing-error-in-connector-onautocomplete/310174/7 "2022-08-18T11:35:28Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
