gpt4 book ai didi

php - 如何使用 IN 查询在 solr join 中执行多个条件?

转载 作者:行者123 更新时间:2023-11-29 02:16:30 25 4
gpt4 key购买 nike

Mysql下面如何转solr?我尝试使用 solr join 来实现它,但我不知道如何通过 IN 查询在 solr join 中使用多个条件。

SELECT * 
FROM rooms
WHERE
departure_g_date = "2016-08-04T00:00:00Z"
AND returning_g_date = "2016-08-05T00:00:00Z"
AND (room_adults_child = '1-0' OR (room_adults_child = '2-1' AND child_age = 1))
AND hotel_id IN (
SELECT hotel_id
FROM rooms
WHERE
departure_g_date = "2016-08-04T00:00:00Z"
AND returning_g_date = "2016-08-05T00:00:00Z"
AND room_adults_child = '1-0'
)
AND hotel_id IN (
SELECT hotel_id
FROM rooms
WHERE
departure_g_date = "2016-08-04T00:00:00Z"
AND returning_g_date = "2016-08-05T00:00:00Z"
AND room_adults_child = '2-1'
)

最佳答案

你不能! Solr 不是关系型数据库,并不是为了直接匹配你的结构而设计的。相反,它旨在让事情变得更容易。因此,您必须从您尝试查找的内容向后思考并将您的数据库映射到该内容。

在您的情况下,粒度似乎是某种可用性。因此,也许这会成为您的 Solr 文档,其中包含 hotelId、RoomId、RoomType、DateAvailable(单日)。然后,您基本上会寻找 DateAvailable 在您的范围内的所有正确类型的房间。也许按 RoomId 分组。然后,您需要使用 Solr 或什至在原始数据库中检查该可用性是否连续。

关于php - 如何使用 IN 查询在 solr join 中执行多个条件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38802797/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com