我们需要针对用户个人资料为我的社交网站实施搜索过滤器(类似于Net-log),对个人资料的过滤包括年龄范围,性别和兴趣我们在MySQL上运行大约1M个配置文件,MySQL似乎不是实现这些过滤器的正确选择,所以我们也在考虑Cass...
我们需要针对用户个人资料为我的社交网站实施搜索过滤器(类似于Net-log),对个人资料的过滤包括年龄范围,性别和兴趣
我们在MySQL上运行大约1M个配置文件,MySQL似乎不是实现这些过滤器的正确选择,所以我们也在考虑Cassandra,
那么实现这种过滤器的最佳方法是什么,结果需要非常快
例如年龄= 18-24岁,性别=男性和兴趣=足球
年龄,性别和兴趣是varchar
编辑:
让我重新解释一下这个问题,我怎样才能获得任何类型搜索的最快结果.
它可以基于配置文件名称,也可以是1M配置文件记录中的任何其他配置文件.
谢谢
解决方法:
它可以很好地为您的项目提供基础SQL更改.您可能需要考虑将Interest列从自由输入字段(varchar)更改为标记(例如,附加表上的多对多).
你使用了足球的例子并且有一个类似的运算符.如果您将其更改为标记,那么您将遇到决定放置位置的初始结构问题:
football
Football
American Football
Australian-rules football
但是,一旦你这样做了,标签将帮助你的选择语句更快.
如果没有这种更改,您将把数据管理问题从数据库(配备处理它)推送到Java(可能不是).
本文标题为:mysql – 在java中实现搜索过滤器
基础教程推荐
- Spring 循环依赖之AOP实现详情 2023-02-19
- JavaWeb Listener 利用Session统计在线人数 2023-05-13
- 浅谈一下Spring中的createBean 2023-03-15
- 聊聊单线程的Redis为何会快到飞起 2022-10-30
- Spring boot 运用策略模式实现避免多次使用if的操作代码 2023-04-23
- SpringData JPA的常用语法汇总 2022-12-11
- java实现面板之间切换功能 2022-12-27
- ShardedJedisPool的使用package com.test; import java.util.ArrayList; import java.util.List; import redis 2023-11-04
- Springboot 多租户SaaS搭建方案 2023-01-09
- 如何将JSON字符串数组转对象集合 2023-01-09