【问题标题】:Dynamic search filter with multiple factors in web appWeb 应用程序中具有多个因素的动态搜索过滤器
【发布时间】:2016-05-15 17:14:36
【问题描述】:

我正在建立一个房地产网站,但对如何过滤公寓搜索结果有点困惑。用户可以通过单击复选框和包含要搜索的关键字的文本框来过滤他的搜索。

我的问题是我有很多过滤选项(按城市和/或城市中的位置和/或公寓大小和/或卧室数量和/或...)。所以我的问题是如何编写一个可以动态接受不同输入并通过分页返回过滤结果的mysql存储过程。例如,某人可以在他的过滤器中选择卧室数量为 2 或 3,并且在某个城市中,他可能不关心其他条件。并且用户还可以将关键字与要搜索的条件放在一起。我正在使用 Spring MVC 和 mysql,但我想我需要的帮助更多的是关于概念,而不是关于我正在使用的语言和关系数据库。

起初,我想传递键值对,但这会在我猜想的过程中使事情复杂化很多,并且取决于枚举表。那么,您能否根据最佳实践和您的专业知识提出一种实施此类搜索的正确方法。

很多感谢

【问题讨论】:

    标签: mysql spring-mvc search stored-procedures filter


    【解决方案1】:

    分面搜索确实是一个分析问题,这意味着您需要一个分析模式才能正确完成。

    这意味着立体设计。这也意味着 OLAP-style 查询。

    所以,你应该先read up

    基本上,您需要一张大桌子(每一行都是待售房屋),其中包含所有适用的列。这不一定是真正的表,它可以是视图或物化视图。

    我会继续为此使用存储过程。我看不出它会有什么帮助。

    【讨论】:

    • 感谢您的回答.. 但是当我搜索类似的过滤和搜索(如 ecoomerce 网站)时,许多与 SO 相关的问题要么使用普通查询(其中一些使用 javascript 构建查询)要么sprocs 来获取数据.. 他们使用他们的类别或过滤器进行 ajax 调用,并在后端构建查询,或者从 JS 发送构建的查询.. 有错吗?
    • 你可以随心所欲。我的回答告诉你最好的方法
    猜你喜欢
    • 2017-06-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-07
    • 2019-07-12
    相关资源
    最近更新 更多