V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
MySQL 5.5 Community Server
MySQL 5.6 Community Server
Percona Configuration Wizard
XtraBackup 搭建主从复制
Great Sites on MySQL
Percona
MySQL Performance Blog
Severalnines
推荐管理工具
Sequel Pro
phpMyAdmin
推荐书目
MySQL Cookbook
MySQL 相关项目
MariaDB
Drizzle
参考文档
http://mysql-python.sourceforge.net/MySQLdb.html
jcuan
V2EX  ›  MySQL

网站整站搜索会涉及到多种不同形式的资源,保存在几个不同的数据表,如何按照这些内容的发布时间对搜索结果排序然后分页?

  •  
  •   jcuan · 2017-02-01 20:28:50 +08:00 · 3531 次点击
    这是一个创建于 2834 天前的主题,其中的信息可能已经有所发展或是发生改变。

    比如有一个网站有文章、附件、问答这些内容,他们相关的信息是存在 A 、 B 、 C 三个表(每个表中都含有 time 这个表项),现在整站搜索需要根据 time 对搜索结果排序之后再分页显示,这该如何实现?

    我能想到的方法

    • 先把三个表所有符合条件的结果查出来,再自己根据 time 排序,虽然网站数据不会很多,不过还是觉得这样不太科学。。。。
    • 建立一个所有网站的资源表,含标题、时间、类型等搜索需要的最基本的信息,然后直接搜索这个表~

    大神们给一点建议,谢谢啦~

    4 条回复    2017-02-05 23:53:18 +08:00
    haozhang
        1
    haozhang  
       2017-02-01 22:00:52 +08:00 via iPhone
    你可以用一个开源的搜索引擎带 web gui 的那种,定一个 cron job 每天晚上爬自己的网站。
    jcuan
        2
    jcuan  
    OP
       2017-02-01 23:39:07 +08:00 via Smartisan T1
    @haozhang 可能这样比较适合数据量大一些的网站,我遇到那个一年文章不到五千篇,搜索需要比较高的时效性,刚发的文章就能搜出来那种😂准备就用 like 做了
    fredcc
        3
    fredcc  
       2017-02-02 17:09:04 +08:00
    1 、 select join
    2 、 mysql 视图
    jcuan
        4
    jcuan  
    OP
       2017-02-05 23:53:18 +08:00 via Smartisan T1
    了解到 Elasticsearch 感觉还不错, http://m.blog.csdn.net/article/details?id=33736429 ,准备自己用用试一试~
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5700 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 03:37 · PVG 11:37 · LAX 19:37 · JFK 22:37
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.