英语分析器的一个奇怪结果与弹性搜索权威指南不同

时间:2017-02-10 03:40:01

标签: elasticsearch

this link中的示例说,使用GET /my_index/_analyze分析单词Foxes将返回术语fox。 但就我而言,我发现结果仍然是foxes

curl -XGET http://localhost:9200/my_index/_mapping/my_type?pretty

映射:

{
  "my_index" : {
    "mappings" : {
      "my_type" : {
        "properties" : {
          "english_title" : {
            "type" : "text",
            "analyzer" : "english"
          },
          "title" : {
            "type" : "text"
          }
        }
      }
    }
  }
}

测试

curl -XGET http://localhost:9200/my_index/_analyze?pretty -d '
{
  "field": "my_type.english_title",   
  "text": "Foxes"
}
'

响应:

{
  "tokens" : [
    {
      "token" : "foxes",
      "start_offset" : 0,
      "end_offset" : 5,
      "type" : "<ALPHANUM>",
      "position" : 0
    }
  ]
}

当我使用GET / _analyze时,结果是术语fox

curl -XGET http://localhost:9200/_analyze?pretty -d '
{
  "analyzer": "english",   
  "text": "Foxes"
}

响应:

{
  "tokens" : [
    {
      "token" : "fox",
      "start_offset" : 0,
      "end_offset" : 5,
      "type" : "<ALPHANUM>",
      "position" : 0
    }
  ]
}

教程中的错误是什么? GET /my_index/_analyze此方法无法获得正确的结果。

1 个答案:

答案 0 :(得分:0)

一切都很完美。

curl -XGET http://localhost:9200/my_index/_analyze?pretty -d '
{
  "field": "my_type.english_title",   
  "text": "Foxes"
}

您要发送的分析字段 my_type.english_title ,因为。所以我应该删除类型。

尝试

 curl -XGET http://localhost:9200/my_index/_analyze?pretty -d '
    {
      "field": "english_title",   
      "text": "Foxes"
    }