【发布时间】:2013-11-10 21:30:01
【问题描述】:
我正在使用Tire(ElasticSearch Ruby gem),并且想匹配关键字“社区营销”的几个字段。但是,我也希望 ElasticSearch 也返回关键字“社区营销”的结果。标准分析器不会将“社区”解析/标记为“社区”,因此它们是单独的关键字。
如何让 ElasticSearch 向我返回“社区营销”和“社区营销”的结果?我更喜欢在查询时间而不是索引时间执行此操作。我对 ElasticSearch 标准分析器很满意,不想乱用它。
fields = ["title", "popular_hash_tags"]
keyword = "communities marketing"
keyword2 = "community marketing"
s = Tire.search "articles" do
query do
match fields, keyword, :operator => "AND"
#NOW I also want to match keyword2??
end
end
【问题讨论】:
-
您说您不想处理不断变化的分析器,但听起来您当然应该考虑一下。这种情况是使用词干分析器的典型原因。
englishanalyzer 应该为您解决这个问题。我处理复数和其他后缀等。
标签: ruby lucene elasticsearch tire