MySQL查询-基于权重的搜索引擎
以下是医疗MIS表的数据库结构:MySQL查询-基于权重的搜索引擎,mysql,optimization,search-engine,Mysql,Optimization,Search Engine,以下是医疗MIS表的数据库结构: CREATE TABLE IF NOT EXISTS `ab_med` ( `med_id` bigint(20) NOT NULL AUTO_INCREMENT, `med_title` varchar(200) DEFAULT NULL, `med_posted_date` varchar(200) DEFAULT NULL, `med_company_name` varchar(200) DEFAULT NULL, `med_exper
CREATE TABLE IF NOT EXISTS `ab_med` (
`med_id` bigint(20) NOT NULL AUTO_INCREMENT,
`med_title` varchar(200) DEFAULT NULL,
`med_posted_date` varchar(200) DEFAULT NULL,
`med_company_name` varchar(200) DEFAULT NULL,
`med_experience` varchar(200) DEFAULT NULL,
`med_salary` varchar(200) DEFAULT NULL,
`med_city` varchar(200) DEFAULT NULL,
`med_description_short` text,
`med_details_link` varchar(500) DEFAULT NULL,
`med_from_city_type` int(1) NOT NULL DEFAULT '1',
`med_from_city` varchar(255) DEFAULT NULL,
`med_collected_time` datetime DEFAULT NULL,
`med_status` int(1) NOT NULL,
PRIMARY KEY (`med_id`),
KEY `MedCity` (`med_city`),
KEY `MedTitle` (`med_title`),
KEY `MedCompany` (`med_company_name`),
KEY `MedExperience` (`med_experience`),
KEY `med_details_link` (`med_details_link`),
FULLTEXT KEY `med_index` (`med_title`,`med_company_name`,`med_description_short`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=639295 ;
大约有50万条记录。用户可以使用两个字段进行搜索:
med\u title
,med\u company\u name
,med\u description\u short
,med\u city
位置被调查到med_city
我使用了全文mysql搜索,但我需要最新的条目来显示更好的分数。我没有得到它的SQL查询。我正在使用以下SQL查询:
SELECT distinct(med_details_link),med_id,med_title,med_posted_date,med_company_name,med_description_short,med_from_city,med_experience,med_city,med_collected_time,MATCH (med_title,med_company_name,med_description_short) AGAINST ('+hello +world' IN BOOLEAN MODE) as score
FROM ab_med
WHERE MATCH (med_title,med_company_name,med_description_short) AGAINST ('+hello +world' IN BOOLEAN MODE) order by med_id desc limit 1000
假设我搜索“hello world”,我知道应该有基于以下内容的权重:
请帮助获得一个SQL查询来考虑所有这些权重并有效地搜索。 < P>考虑转向狮身人面像以获得满意的解决方案。
有500万行,以及您的需求,MySQL全文搜索的性能将令人失望 即使有50万条记录,你也会提出同样的建议吗?不过,数据库将继续增长。另外,关于我的具体案例中使用狮身人面像的具体信息,请参见以下问题: