php - 基于关键词的 PHP 中的 MySQL 搜索

标签 php mysql search search-engine

我正在用 PHP(MySQL 后端)编写原型(prototype)拍卖/列表项目。

我有一个 list 表 (listings) 和一个关键字表 (listings_keyphrases),其中包含多个描述每个项目的关键字。每个列表都有多个关键短语(根据需要尽可能多),但每个关键短语的字符限制为 20 个字符。

因此,在 listings_keyphrases 中,单个列表可能有 6 行,每行都有不同的关键词。 listings_keyphrases 表中的关键词是有序的。

我想实现一个搜索功能:

  1. 搜索与特定项目相关的所有关键词
  2. 根据以下条件对结果进行排序:
    • 措辞(如果搜索短语与特定关键词完全匹配)
    • 关键词顺序(我假设如果搜索匹配位置 1 的关键词更相关)。

我研究了 MySQL FULLTEXT 和其他一些选项,但还没有找到最好的方法。有什么想法吗?

最佳答案

我会尝试以下搜索引擎之一:

http://lucene.apache.org/solr/

http://sphinxsearch.com/

它们都是开源的,有据可查且易于使用。

关于php - 基于关键词的 PHP 中的 MySQL 搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11297402/

相关文章:

PHP 将 "0"视为空?

sql - MySQL从具有分组依据的表中选择最小值

java - mysql 中的下拉列表和单选按钮使用什么数据类型

php - SQL SELECT 查询没有结果也没有错误

python - 基于多个条件对多维数组进行排序的算法

c# - 搜索所有单词的 StartsWith 扩展

javascript - 带文件上传的多步骤表单

php - Laravel:SQLSTATE [23000]:违反完整性约束:1452 无法添加或更新子行:外键约束失败

php - 一般错误 : 1005 when creating a key constraint - Laravel

jquery - 如何在 SQL 中赋予相似语句优先级