求助:这个需求 Elastic Search 能实现吗?
Posted 待字闺中
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求助:这个需求 Elastic Search 能实现吗?相关的知识,希望对你有一定的参考价值。
最近在用 Elastic Search 做项目,遇到了这样一个需求,本以为 SpanNearQuery 能实现,发现不可以,因为 span_near 中定义的 slop 是两个邻近词之间的距离,而不是整个 query 所在的窗口的大小。
现在抛出这个这个问题求助,有解决方案的欢迎留言,一旦采用必有重谢。
给定 n 个词,要求搜索所有含有这 n 个词的文档,并且满足这 n 个词同时出现在长度为 m 的窗口中,还有就是这 n 个词在文档中出现的次序和搜索时的次序一致。
比如,搜索词是:“明天 北京 上海 火车”,要求文档中匹配的窗口的大小是12个词。
文档1: 大概 明天 有 一辆 从 北京 开往 上海 的 火车 将 提速 10%
1 2 3 4 5 6 7 8 9 10 11 12 13
这个文档满足条件,2 6 8 10 正好次序和 “明天 北京 上海 火车“一致,并且这几个词的跨度是8,小于要求的12窗口。
文档2: 大概 明天 有 一辆 从 上海 开往 北京 的 火车 将 提速 10%
1 2 3 4 5 6 7 8 9 10 11 12 13
这个不满足,因为“上海 北京”的次序不满足。
文档3: 大概 明天 上午 八点 左右 有 一辆 从 上海 开往 北京 的 混合 动力 的 火车 将 提速 10%
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
这个不满足,2 9 11 16,这几个词的跨度是14,大于要求的12窗口。
说明白了吧,再次提前谢谢。
以上是关于求助:这个需求 Elastic Search 能实现吗?的主要内容,如果未能解决你的问题,请参考以下文章
将数据从 Redshift 传输到 Elastic Search?
Elastic Search 基础——分析(Analysis)
elastic search报错——“failed to obtain node locks”