Ajax 板


LINE

※ 引述《TonyQ (沉默是金)》之铭言: : 真的要用关键字 , 我玩过 Compass 的玩法 . : (本质是lucene底,只是包装过介面 , 是java体系的东西.) : 他是怎麽玩咧 , 基本上他是用所谓 resource 的机制 . : 每一笔资料要设定某一特定主值 (通常就是 db table的 pk) , : 然後对内文做中文断词 (那时用的是庖丁这套大陆分词系统) , : 按照 key , words 的配对模式存到索引档里面去. : (只是概念上 , 这是文件上写的 , 实际存法我没研究. XD) : 然後查询时 , 也要针对查询的关键字用一样的断词系统先断过一次 , : 再针对被断词後的关键字"群" , : 在索引档中做查询跟评分动作 , 跳出分数高的来列出 pk , : 你可以再针对这些 pk 去查出detail的资料. : (是也可以直接把所有资料存进去啦:p) : 我想 , 要自己实做的话 , 不外乎就是这些流程 , : 只是 compass 是有跟我们用的 OR-Mapping (也就是Hibernate) 介接 , : 所以我们资料表有新增资料时它会自动build index , : 删除资料时也会自己 update , 所以操作起来非常愉快. XD : btw , 要自己实作的话 , 当然还是以档案 io 为主最快了... : ps. 前两天我玩了一下 sql 2008 的全文检索 , : 虽然说效果可能没有非常好 , 但是感觉似乎还算是可以接受... 其实 T 大跟小弟讲的已经是同一件事了 XDD 就是 natural language 断句去做搜寻引擎的 base table, 还有其後的衍生应用(像 keyword 权重或交叉积分之类的…) 当然如果 orm 包装的好,整个用起来一定很快乐。 不过虽然 io 是最快,但是要设计架构/结构和 data lock(这个超烦 XDD) 就很花时间和脑力了,如果没有太多时间就还是丢给 mysql/mssql 去做吧, : : 如果要作中文全文搜寻的话,之前看过DB版深蓝站长大大说过一种 : : 用空间换取时间的方法,就是把中文关键字拆解成一张资料表,到 : : 了要搜寻的时候可以藉由WHERE查询比LIKE快(在目前中文全文搜寻 : : 机制仍然不理想的情况下的作法) : : 那这样是不是类似gpmm大的说法,就事先作好很多的View存下来先前的查询结果 : : 然後再进一步的作filter就好了呢?(还是我误会的gpmm大的意思) K 大这边提到的先前查询结果,已经是又另外一层了, 如果 keyword table 已经超过二十几万笔, 那就乾脆另外拉一个常用的 hight weight keyword table, 专门存积分超过某一个限度的… (其实架构设计优良的 keyword table,即使到百万笔效能应该都还过得去。 不过老实讲,keyword table 塞起来是很快的… orz) 还有一种是所谓的时间性热门查询,或普遍的热门查询, 这种比较建议把相关的结果集预先收到 cache 或档案里, 可以有效降低热门关键字对 DB 的摧残, 不要忘记如果有了新资料进来,要去更新相关的 cache 或档案就是。 : :前文恕删,不过gpmm大的意思是不是server端准备一张表格 : :把查询过的记录存起来,如果同一个session发动不同的request再查询 : :如果不是就中断查询的process(好像是Windows Form里中断Thread的作法 : :可是资料库有可能吗@@?) : :不知道这部分我有没有会错意 回过头来讲这个,要中断资料库的 query 是可以的,kill 掉就好了, 只是这既暴力又危险,不管什麽情况大概都不可能让系统自己跑, K 大这边提到的中断查询的process,比较是小弟指的, 在每一个流程上(DB 操作以外)的检查点做中断, 实做上和 K 大你说得也差不多, 准备一个资料去记录同只 session 最後更新的 request, 在每一个 query 操作结束後,先比对现在的 request 和最新收到的是否一致, 若不一致,那是否要把现在已经取出的 result rows 丢掉,重新对 DB query, 或着拿现在的结果集再加以利用, 大概是这样 :P --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.136.225.239
1F:→ gpmm:咦…好像一整个脱离 Ajax 范围…囧a" 05/18 02:51
2F:→ TonyQ:话说回来 , cache 最头痛的就是对应即时更新 , 05/18 03:17
3F:→ TonyQ:我现在的设计只有在必要或者很无所谓的地方才会用cache 05/18 03:17
4F:→ TonyQ:不然有user 在 complain 看到cache 的旧资料也是颇麻烦XD 05/18 03:18
5F:推 Kelunyang:ajax也是有後端的咩XDDD(误 05/18 09:19







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Soft_Job站内搜寻

TOP