ElasticSearch查询

时间:2013-06-07 18:41:55

标签: json elasticsearch

我需要在elasticsearch中进行查询,以便在以下文本中: “我想和我的家人一起去纽约度假。”在一个嵌套的领域找到:“纽约”。 我在我的数据中有一个字段,其中包含单词“New York”,它是Nested和not_analyzed类型。 有谁知道怎么做?

查询我得到了,没有人帮助我。

2 个答案:

答案 0 :(得分:4)

使用phrase query。来自文档:

{
   "match_phrase" : {
       "message" : "this is a test"
   }
}

我确实认为有" not_analyzed"对你来说将是一个问题,因为你真的想要一个分析的领域。您可以指定要使用的分析器类型,这可能有效。但如果可能的话,我建议使用分析字段。

如果您愿意支付空间费用,我建议您使用包含已分析和未分析部分的多字段。这是一个例子:

 "sender": {
            "type" : "multi_field",
            "fields" : {
                "sender" : {"type" : "string", "index" : "analyzed"},
                "sender_not_analyzed" : {"type" : "string", "index" : "not_analyzed"}
            }
        }

答案 1 :(得分:0)

not_analyzed表示它所说的内容,并未进行分析。它将在单个标记中作为传入的文字字符串编入索引。如果您对其进行分析,它将被标记化并过滤,以使其对全文搜索有用。那样做。

请参阅ElasticSearch Analysis的文档。