# Array -Query issue(Indexing vs query)

**URL:** <https://discuss.elastic.co/t/array-query-issue-indexing-vs-query/144363>\
**Category:** Elasticsearch\
**Created:** [August 14, 2018, 3:11pm UTC](https://discuss.elastic.co/t/array-query-issue-indexing-vs-query/144363 "2018-08-14T15:11:30Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![snigdharao](https://avatars.discourse-cdn.com/v4/letter/s/4af34b/32.png) [@snigdharao](https://discuss.elastic.co/u/snigdharao)\
**Post date:** [August 14, 2018, 3:11pm UTC](https://discuss.elastic.co/t/array-query-issue-indexing-vs-query/144363/1 "2018-08-14T15:11:30Z")

</div>

Hi ,  
I have an array for field commodity line [3,35,1,11,12].I am trying to query the field for autocomplete results and i need output as 3 and 35 when i match with 3.My indexing works fine for all scenarios excpeting an array.  
Is there an issue with my indexing or do i have to change my query.

Query used:  
GET contracts/doc/\_search  
{

```
     "query":{
       "bool":{
         "filter":{
           "match_phrase":{
             "commodity_line.autocomplete":"3"
             
           }
         }
         
       }
     },
    "aggs":{
      "commodity":{
        "terms":{
          "field": "commodity_line.keyword"
          , "size":1000
        }
      }
    }
    }

```

Mapping:  
PUT contracts  
{

```
       "settings":{
          "analysis":{
             "filter":{
               
            
            "gramFilter": {
              
                 "type": "edge_ngram",
                "min_gram" : 1,
                "max_gram" : 20,
              "token_chars": [
                "letter",
               "symbol",
                "digit"
              ]
            }
          
          },
             "analyzer":{
                
              
                  "autocomplete": { 
              "type": "custom",
              "tokenizer": "standard",
              "filter": [
                "lowercase",
                "trim",
                "gramFilter",
                 "asciifolding"
               
                
              ]
            }
            
              
          
          
             }
          }
          }
          
       ,
       "mappings":{
          "doc":{
             "properties":{
     "commodity_line" :{
                   "type":"text",
                  "fields": {
                  "keyword": {
                    "type": "keyword",
                    "ignore_above": 256
                  },
                  
                  "autocomplete":{
                    "type":"text",
                    "analyzer":"autocomplete", 
                  "search_analyzer":"standard"
                  }
                  }
              
               
               }
    }
    }
```

---

<div class="post-metadata">

**Author:** ![jaddison](https://avatars.discourse-cdn.com/v4/letter/j/e5b9ba/32.png) [@jaddison](https://discuss.elastic.co/u/jaddison)\
**Post date:** [September 9, 2018, 9:33pm UTC](https://discuss.elastic.co/t/array-query-issue-indexing-vs-query/144363/2 "2018-09-09T21:33:13Z")

</div>

I'm not sure what your query returns, but I suspect it matches the docs fine. However, I think you'll need to manually pull out the potentially matching values from your array field in your code/script.

Autocomplete looks for matches in fields, returning the doc with the match. Your doc has multiple matching values in the field in question, but it only returns the doc once.

You could otherwise index your data differently (denormalize further!) so that autocomplete returned the desired results.

---

<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:** [October 7, 2018, 9:33pm UTC](https://discuss.elastic.co/t/array-query-issue-indexing-vs-query/144363/3 "2018-10-07T21:33:20Z")

</div>

Closed on October 7, 2018, 9:33pm UTC

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