我正在研究具有这种结构的数据库sql:
CREATE TABLE IF NOT EXISTS `news` (
`idNews` INT(10) NOT NULL AUTO_INCREMENT,
`url` TEXT NOT NULL,
`date` TEXT NOT NULL,
`title` TEXT NOT NULL,
`descr` TEXT NOT NULL,
PRIMARY KEY (`idNews`));
INSERT INTO `myDb`.`news` (`url`, `date`, `title`, `descr`)
VALUES(...), ..., (...);
现在我想在此数据库上创建索引以提高性能。
如果我使用mysql语法:
CREATE INDEX `newsIndex` ON `news`(`idNews`, `url`, `date`, `title`, `descr`);
我有这样的错误:
#1170 - BLOB/TEXT column 'url' used in key specification without a key length
发生错误是因为MySQL只能索引BLOB或TEXT列的前N个字符。该问题的解决方案是从索引或唯一约束中删除TEXT或BLOB列,或将另一个字段设置为主键。 但我想用TEXT列保留该结构。
因此,我从Apache Lucene项目中发现了Apache Solr,一个用Java编写的开源企业搜索平台。其主要功能包括全文搜索,点击突出显示等。
问题是Solr用于索引文档,我不明白使用它来索引我的数据库的方法。
任何人都可以帮助我吗?
谢谢!