2013-04-30 75 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