【问题标题】:ElasticSearch analyzed and not_analyzed at the same timeElasticSearch同时分析和not_analyzed
【发布时间】:2014-12-27 13:16:12
【问题描述】:

我的 ElasticSearch 文档格式如下:

{
    "message": "Message text",
    "user_email": "user@email.net"
}

对这些文档执行两种类型的查询:

  1. 人工查询应使用分析器匹配“消息”和“用户电子邮件”的“_all”字段。
  2. 应使用完全匹配“user_email”的机器查询。

有没有办法为 ElasticSearch 中的单个字段同时创建“已分析”和“未分析”索引?

【问题讨论】:

    标签: elasticsearch


    【解决方案1】:

    解决上述问题的一个简单方法是在创建索引时定义两个不同的字段对应user_email,即“user_email_analyzed”和“user_email_not_analyzed”。之后,在索引阶段,您应该更新两个电子邮件字段的上下文。

    【讨论】:

    • 我指望一种不那么骇人听闻的解决方案,尤其是不需要客户端更改的解决方案。
    • 分析完email字段,就可以实现上面的查询功能了。执行 "{ "query" : { "match" : { "user_email" : "email_to_be_searched"}}}" 以获得精确的电子邮件匹配。对于人工查询,请使用您当前拥有的查询。不幸的是,在这种情况下,您将不得不进行客户端更改:-(
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-12-24
    • 2016-05-07
    • 2015-01-31
    • 2016-05-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多