php - 在数据库表中搜索大量关键字

标签 php mysql sql search elasticsearch

我正在尝试在表中搜索多个关键字。然而,我不是在寻找一个关键字,甚至不是10个。它是大约一千个关键字。这些关键字也在表中并且可以控制。我宁愿不将这些关键字硬编码到我的 SQL 命令中...

我正在搜索的目标表包含大量文本,并且单元格可以包含整个句子或段落...因此在 mySQL 中执行“全文”搜索之类的操作似乎是一个好的开始。

与这个问题非常相似,但同样,当我谈到多个关键字时,我指的是数百到数千。 mysql FULLTEXT search multiple words

我可以将关键字表转储到数组中并运行全文搜索吗?甚至可以用 mySQL 来解决这个问题,还是有我没有考虑到的限制?我也愿意接受其他技术建议。抱歉,我没有要发布的代码或错误。我首先尝试从概念上理解如何解决这个问题。 -tia

最佳答案

最近我不得不做出类似的决定。我决定使用lucene。我将可索引字段存储在 lucene 中,并返回 mysql 行的 id。

另一个选择是 sphinx ,完整的教程可以找到 here .

查看相关帖子here 。和here .

关于php - 在数据库表中搜索大量关键字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24709085/

相关文章:

mysql - 如何确定 Mono 2.10.2 中缺少哪个程序集?

mysql - IF on WHERE 子句

PHP-Mysql 条件并不总是评估相同

使用以下条件从数组创建唯一的 3 位数字组合的 PHP 代码

php - 如何从 PHP 中的 mysql 查询获取最高和最低纬度和经度

mysql - 从 innodb 转换为 MyISAM 以获取全文

mysql 查询以获取按日期、时间和名称排序的数据(但不想在每个日期下拆分通用名称)

php - 检查数据库中是否存在单元格编号

Php数组偏移量

java - 如何使用java从mysql数据库中获取图像