【发布时间】:2012-11-16 02:16:58
【问题描述】:
我遇到了位置查询在 ElasticSearch 中返回错误结果的问题。
在我们的系统中,一个商业搜索引擎,每次搜索都需要两个输入:一个位置和一个查询字符串,例如
q=sushi
location=Greenwich Village, New York, New York
我希望搜索先显示格林威治村的寿司,然后再显示格林威治村外的寿司,但绝不会显示非寿司的结果。
问题是,由于location 查询,格林威治村的任何事物都会得到匹配——律师、医生等等。我想对 ElasticSearch 说:
如果 q 匹配,则 location 不必(返回格林威治村外的寿司是可以的),但如果 location 匹配,除非 q 也匹配,否则不要返回它(返回非寿司业务在格林威治村)。
有人对如何做到这一点有任何想法吗?
【问题讨论】:
标签: search elasticsearch