我正在使用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
答案 0 :(得分:0)
我建议挖掘Elasticsearch的查询DSL。你会发现很多有趣的东西。 例如,bool过滤器的“should”子句。 http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/query-dsl-bool-filter.html