搜索轮胎中的电子邮件(elasticsearch)无效

时间:2013-08-23 14:30:58

标签: ruby-on-rails elasticsearch tire

如何索引轮胎中的电子邮件。

我想要一个完整的模型搜索,包括电子邮件。问题是example@gmail.com在搜索时没有像'@'字符一样工作,因此它会分裂。

这是我的查询

query { terms :_all, params[:query], :minimum_match => 10} if params[:query].present?

如果我使用“include_in_all:false”那么我如何在查询搜索中包含电子邮件或如何以术语查询发送_all和电子邮件

有没有可行的解决方案来完全索引电子邮件而不进行拆分,以便它可以包含在_all中。

尝试'tokenizer'=> 'uax_url_email'?但没有工作。如何在rails中正确设置

1 个答案:

答案 0 :(得分:0)

这是如何使用uax_url_email标记生成器使用_all字段创建索引的gist

另一种解决方案是将电子邮件字段编入索引为not_analyzed。

        "email": {
            "type": "multi_field",
            "fields": {
                "email": {"type": "string", "index": "analyzed"},
                "exact": {"type": "string","index": "not_analyzed"}
            }
        }

查询“email.exact”字词将返回确切的电子邮件值,而不会拆分“@”。