我正在尝试为我的网站实现一个实时搜索。在给定的字符串中标识单词或单词部分的人。然后,即时结果在与查询匹配的位置加下划线。
例如,查询“油炸绿色西红柿”将产生:
SELECT *
FROM articles
WHERE (title LIKE '%fried%' OR
title LIKE '%green%' OR
title LIKE '%tomatoes%)这在一个非常小的数据集上工作得很好。但是,一旦数据库中的记录数量增加,这种查询很快就会变得低效,因为它不能利用索引。
我知道从技术上讲,这是MySQL中全文搜索的目的,但结果的质量并不是很好。
有什么替代方案可以在保持查询效率的同时获得非常高质量的子字符串搜索?
谢谢。
发布于 2010-10-15 13:51:24
Sphinx将帮助您在海量数据中快速搜索
发布于 2010-10-15 18:20:40
它们是许多可以使用的全文搜索引擎,比如sphinx、Apache Solr、Whoosh (它是纯python)和Xapian。django-haystack (如果你使用的是django),它可以与最后3个接口;
https://stackoverflow.com/questions/3939776
复制相似问题