2013-04-30 28 views
0

我有一個web服務,它將結果返回給jquery自動完成。在特定情況下LIKE子句的可能替代

對於查詢我必須爲4飽吹像條款

LIKE('%SOME_TERM%') 

原因是,用戶需要能夠返回從子串,以及合適的話結果。在這種情況下,我也嘗試過使用全文索引的全文索引,既有自然模式也有布爾模式,但它們不能很好地工作,在這種情況下,它們的結果還有很多不足之處。

數據庫對索引進行了高度優化,即使LIKE子句從具有多個聯接的查詢返回結果,並且其中一個具有200,000行的表首次運行時需要大約0.2/0.3秒。一旦它被服務器緩存,那麼顯然所花費的時間是微不足道的。

我想知道是否還有什麼值得在這裏嘗試。我曾經看過一些獨立的搜索提供商,但我在這個項目上的時間有點緊張(幾乎已經完成並準備推出),所以無法承受任何大型設置或大規模重構時間和資金明智。

它的可能性和它的一樣好,但讓它有發言權沒有任何壞處是我的態度。

回答

0

我認爲apache solr是他們的方式去爲你。用於全文搜索。 http://lucene.apache.org/solr/

但是就像你說的,如果你沒有多少時間了,而且你確定你的查詢是最好的。我看不到你能做的事。

+0

是的,我自己也在想同樣的事情。我曾考慮過Solr,但在這種情況下,我認爲它超出了要求。感謝您的建議。祝一切順利。 – jiraiya 2013-05-01 09:16:45