在Elasticsearch中喜欢大文本

时间:2018-12-10 19:41:02

标签: sql elasticsearch

我正在尝试从Elastic的SQL中模拟LIKE操作。

基本记录:

1. The quick brown fox jumps over the lazy dog
2. The thequick brown fox jumps over the lazy dog
3. The quick and brown fox jumps over the lazy dog
4. The quick brownnow fox jumps over the lazy dog

搜索SQL:LIKE '%quick brown%'

结果:1​​、2和3

非常简单,我正在尝试在Elasticsearch 6中执行此操作。

到目前为止,我已经能够将正则表达式或通配符应用于“关键字”字段并使其正常工作。

但是,我的一个属性有大量文本,不能被索引为关键字-它超出了最大字节数。

任何指针都将受到欢迎! :)

2 个答案:

答案 0 :(得分:0)

我可以考虑将字段映射为“文本”,这将启用对所分析术语的反向索引。这将支持在该字段上进行全文搜索。由于它们不被视为关键字,因此对使用的内存没有影响。

更多信息:https://www.elastic.co/guide/en/elasticsearch/reference/current/text.html

答案 1 :(得分:0)

显然,实现此目标的最佳方法是使用跨度查询。 SpanNear和多个通配符查询。 如果有帮助,我将举一个例子。