There is a good tool to search within big DBs - Sphinx. This a system to perform a fast search with morphological analysis of search query.
Installation:
source scj
{
type = mysql
sql_host = localhost
sql_user = scj_mysql_login
sql_pass = scj_mysql_password
sql_db = scj_db
sql_port = 3306 # optional, default is 3306
sql_query = select id, date, tags, alt, description from rot_galleries
sql_attr_timestamp = date
sql_query_info = SELECT * FROM rot_galleries WHERE id=$id
}
index scj_index
{
source = scj
path = /path_to_data/scj/sphinx/scj_index
docinfo = extern
morphology = stem_en # or stem_ru for example
}
You have to replace with your data following values
scj_mysql_login
scj_mysql_password
scj_db
path_to_data
indexer --all --rotate
$config["sphinx_port"] = 3312; $config["sphinx_search_index"] = 'scj_index';
That's all.