elasticsearch中的字符串字段长度过滤器错误

时间:2019-03-05 16:35:31

标签: python elasticsearch filter elasticsearch-dsl

我正在python中使用elasticsearch dsl。我想过滤我的文档,设置字符串字段的最小长度。我的代码:

s = es_dsl.Search(using=es, index='some_index')
s = s.filter('exists', field='message')
s = s.filter('script', script=f"doc['message.keyword']?.values.toString().length() >= 50")
s = s.source(['message'])
s.scan().__next__().to_dict()

但是我发现一个长度超过50个符号的文档没有返回。 被忽略的文档:

{'message': 'На днях со мной произошло удивительное событие.<...>Прекрасный удивительный заморский мир!\n\nВ Украине должно быть тоже так.'}

如果我将过滤器从50个符号更改为2个符号,它将返回,但阈值较高-不。有道理吗?

0 个答案:

没有答案