# 如何用Criteria实现实现 and (a or b or c) 这种效果？

**URL:** <https://discuss.elastic.co/t/criteria-and-a-or-b-or-c/368900>\
**Category:** Elasticsearch\
**Created:** [October 16, 2024, 10:10am UTC](https://discuss.elastic.co/t/criteria-and-a-or-b-or-c/368900 "2024-10-16T10:10:19Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![a1248145775](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/a1248145775/32/138403_2.png) [@a1248145775](https://discuss.elastic.co/u/a1248145775)\
**Post date:** [October 16, 2024, 10:10am UTC](https://discuss.elastic.co/t/criteria-and-a-or-b-or-c/368900/1 "2024-10-16T10:10:19Z")

</div>

各位好，请教个问题，为什么用es的Criteria多个or连接在一起，最终生成的dsl只有这个or里面的最后一个？debug到org.springframework.data.elasticsearch.client.elc.CriteriaQueryProcessor#createQuery，发现should不会拿链式调用下面的内容

 ![e0ec5a00658cc507deb9c042cacbefe8](https://us1.discourse-cdn.com/elastic/original/3X/5/d/5d4e2ce7034061292e947d5e692db1502de5b8c3.png)

---

<div class="post-metadata">

**Author:** ![a1248145775](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/a1248145775/32/138403_2.png) [@a1248145775](https://discuss.elastic.co/u/a1248145775)\
**Post date:** [October 16, 2024, 10:11am UTC](https://discuss.elastic.co/t/criteria-and-a-or-b-or-c/368900/2 "2024-10-16T10:11:52Z")

</div>

![562215c9e9e2c339f70906c1b3c580d4](https://us1.discourse-cdn.com/elastic/original/3X/2/7/276c9dea9bdb7914dca9807bd78fbb4a10329a6b.png)
