【发布时间】:2015-06-07 13:06:56
【问题描述】:
我的用例是搜索有明确定义的邮政编码系统的英国地址,但我的用户仍可能在邮政编码中出错。我想使用一个过滤器,因为在大多数情况下,用户会得到正确的邮政编码,我不想让 Elasticsearch 工作得比它需要的更努力,但是我想避免从我的应用程序到 ES 的往返。
我正在使用文档中描述的edge n-gram 分析器,因此,以邮政编码ME4 4NR 为例,我将ME4 4NR、ME4 4N、ME4 4 和ME4 编入索引。我想先按ME4 4NR 过滤,如果没有匹配,则只扩大到ME4 4N。
我可以在我的 ES 查询中实现这一点,还是需要在我的应用程序逻辑中实现这一点?任何建议将不胜感激。我可以在ME4 和shoulds 上使用带有must 的布尔过滤器,但我想知道是否有更好的方法?
【问题讨论】:
标签: elasticsearch lucene