How can i get unique suggestions without duplicates when i use completion suggester?


(Adinarayana Murthy) #1

Hi

I am using elastic 5.1.1 in my environment . currently i am using the completion suggester on filed name post_hashtags . i am getting response as below for prefx "inv"

eg:
Req:

POST hashtag/_search?pretty&&filter_path=suggest.hash-suggest.options.text,suggest.hash-suggest.options._source
{"_source":["post_hashtags" ],

    "suggest": {
        "hash-suggest" : {
            "prefix" : "inv",
            "completion" : {
                "field" : "post_hashtags"
            }
        }
    } 

Response :

{
  "suggest": {
    "hash-suggest": [
      {
        "options": [
          {
            "text": "invalid",
            "_source": {
              "post_hashtags": [
                "invalid"
              ]
            }
          },
          {
            "text": "invalid",
            "_source": {
              "post_hashtags": [
                "invalid",
                "coment_me",
                "daya"
              ]
            }
          }
        ]
      }
    ]
  }
}

Here "invalid" is returned twice because it is also a input string for same field "post_hashtags" in other document .
Problems is if same "invalid" input string present in 1000 documents in same index . i will get 1000 duplicated
suggestions

Can i apply aggregation kind of work on the field of type completion ?

Is there any way i can get unique suggestion instead of duplicated text field , even though if i have same input string given to a particular field in multiple documents of same index ?


(system) #2

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