Simple_phrase suggester is not supported by ElasticSearch 1.7.3?


#1

I'm trying to use ElasticSearch 1.7.3 to implement a Did-you-mean function for my company's search engine. I've followed the documentation to set up a Phrase Suggester and created a customized mapping to support that.

However, when I do a _suggest query, I get ElasticsearchIllegalArgumentException[Suggester[simple_phrase] not supported]. What am I doing wrong?

This is my query:

POST knowledge_graph/entities/_suggest
{
  "suggest": {
    "text" : "apple in",
    "simple_phrase": {
      "phrase" : {
        "field" : "canonical_name"
      }
    }
  }
}

I get the following response:

{
  "_shards": {
    "total": 5,
    "successful": 0,
    "failed": 5,
    "failures": [
      {
        "index": "knowledge_graph",
        "shard": 0,
        "status": 500,
        "reason": "BroadcastShardOperationFailedException[[knowledge_graph][0] ]; nested: ElasticsearchException[failed to execute suggest]; nested: ElasticsearchIllegalArgumentException[Suggester[simple_phrase] not supported]; "
      },
      ...
    ]
  }
} 

Here's my index's settings and mappings:

{
  "knowledge_graph": {
    "aliases": {},
    "mappings": {
      "entities": {
        "properties": {
          "autocomplete": {
            "type": "completion",
            "analyzer": "simple",
            "payloads": true,
            "preserve_separators": true,
            "preserve_position_increments": true,
            "max_input_length": 50
          },
          "canonical_name": {
            "type": "string",
            "analyzer": "simple",
            "fields": {
              "shingles": {
                "type": "string",
                "analyzer": "simple_shingle_analyzer"
              }
            }
          },
          "entity_query": {
            "properties": {
              "simple_phrase": {
                "properties": {
                  "phrase": {
                    "properties": {
                      "field": {
                        "type": "string"
                      }
                    }
                  }
                }
              },
              "text": {
                "type": "string"
              }
            }
          },
          "suggest": {
            "properties": {
              "simple_phrase": {
                "properties": {
                  "phrase": {
                    "properties": {
                      "field": {
                        "type": "string"
                      }
                    }
                  }
                }
              },
              "text": {
                "type": "string"
              }
            }
          }
        }
      }
    },
    "settings": {
      "index": {
        "creation_date": "1449251691345",
        "analysis": {
          "filter": {
            "shingles_1_6": {
              "type": "shingle",
              "max_shingle_size": "6",
              "output_unigrams_if_no_shingles": "true"
            }
          },
          "analyzer": {
            "simple_shingle_analyzer": {
              "type": "custom",
              "filter": [
                "lowercase",
                "shingles_1_6"
              ],
              "tokenizer": "standard"
            }
          }
        },
        "number_of_shards": "5",
        "number_of_replicas": "0",
        "version": {
          "created": "1070399"
        },
        "uuid": "g_Yp7z6kQHCDRtd6TvVlzQ"
      }
    },
    "warmers": {}
  }
}

(system) #2