在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中做到这一点。

到目前为止,我已经能够将Regex或Wildcard应用于关键字字段并使其发挥作用。

但是,我的一个属性有大量文本,无法作为关键字进行索引-它超过了最大字节数。

欢迎任何建议!:(

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

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

显然,实现这一点的最佳方法是使用Span查询。SpanNear和多个通配符查询。如果对任何人都有帮助,我就举个例子。

最新更新