PHP & Zend Searh Lucene & MySQL
Friday, October 31st, 2008工作到現在好像沒有真的學到什麼東西
真的要說有的話可能是工作的態度和做人處世的方法
大公司裡面要能夠往上爬的話靠技術是不夠的
技術人員很容易被取代,而且永遠都是技術人員
離題了
===========================
因為工作的關係,最近碰了很多 PHP 和 Javascript
先靠北一下 Zend Search Lucene
雖然她最近更新到 ZF 1.6 然後 Zend Search Lucene 也支援了 2.3 的 index 格式
實際上用起來實在效果還是不夠好
Lucene 有提供一個很好用的東西叫做 QueryWrapperFilter 拿來搜尋一個 subset 的 index
效果就類似用 subquery 先做一次 filter 再丟給 SELECT … FROM 來作搜尋
Zend Search Lucene 不支援這種動作
假設說我要在 1M 筆文件裡面找所有含有 A 也含有 B 的東西
含有 A 的有 30 筆,含有 B 的有 100K 筆
SQL 裡面可以可以先直接過濾出含有 A 的文件後再找裡面有沒有含有 B 的東西
Lucene 的 QueryWrapperFilter 也可以這樣子
但是 Zend Search Lucene 不行,很雞掰
所以一定得先找出所有含有 A 的
然後再找出所有含有 B 的
然後再快樂的 AND
效率比用 SQL 硬幹遜太多了
===========================
真的要再去碰的話大概會試 Solr 吧
不過目前的 SQL search 已經很可以接受了
除了沒有 prefix search 和一些沒人會用到的功能外
目前就先保持用 SQL 吧
Recent Comments