write down,forget

ElasticSearch里DSL使用事故一则:_cache参数

<Category: Diving Into ElasticSearch> 查看评论

大家在写QueryDSL的时候,要特别注意参数,比如今天我就碰到了一个关于_cache的问题 由于使用自己写的QueryBuilder来生成QueryDSL查询语句,所以有些参数虽然没有指定,但是默认带上了,但有些情况下不注意就会出现问题。 如下例:

报错了,说filters没有注册,显然有些问题了,先按照提示,改了,因为文档上说,是支持不带filters的方式的,很诡异,先试试:

还是不行,后来问了下shay,原来numeric_range的_cache参数位置不对,应该放在numeric_range里面,或者去掉就可以了,有时候生成QueryDSL太复杂,检查起来一定要细心,尤其当错误提示还莫名奇怪的时候,一定要先仔细检查QueryDSL本身。

另外,默认参数,如果没有显式的设置,就不生成到queryDSL里面去,不同的查询,默认参数都不一样。

本文来自: ElasticSearch里DSL使用事故一则:_cache参数