当前位置: 首页 > 面试题库 >

如何按相关性对MYSQL全文搜索结果进行排序

百里承业
2023-03-14
问题内容

我对MYSQL相对较新,遇到了困扰我一段时间的问题。我已经尝试在所有地方使用Google搜索来寻找答案,但到目前为止仍无法找到可接受的解决方案。

这是我当前正在运行的查询,用于查找给定搜索词的最佳匹配项:

$query="SELECT * from `vocabulary` WHERE translation = 'word' OR translation LIKE '%word%'";

它返回的结果是全面的,因为它们包括所有相关的行。但是,它们没有按照任何特定的顺序排序,我希望在用PHP打印结果时首先显示完全匹配的匹配项。像这样:

1 | 字<精确匹配
2 | 填字游戏<-按字母顺序排序的部分匹配项/
3 | 字
4 | 文字匠

预先非常感谢您的协助。

-macspacejunkie


问题答案:
SELECT * from vocabulary 
WHERE translation like 'word'  
union all
SELECT * from vocabulary 
WHERE translation LIKE '%word%' and translation not like 'word'

将首先列出完全匹配项



 类似资料:
  • 问题内容: 我知道如何进行常规的php mysql搜索并显示结果。但是,由于我要完成的工作的性质,我需要能够按相关性进行排序。让我更好地解释一下: 普通查询“ apple iphone应用程序”将使用%apple iphone application%搜索数据库,但是如果没有记录以该确切顺序显示该短语,则搜索将不会产生任何结果。 我基本上需要做的是分别搜索“ apple”,“ iphone”和“

  • 我有弹性搜索的问题。接缝搜索项在搜索结果中被隔离。 我们有一个使用弹性搜索索引的大型字幕数据库。然而,我们的搜索会在搜索词被隔离的地方对搜索结果进行优先排序。 Ie:搜索“吃”会产生: 哦,跳伞跳伞哦,我找到了疯狂饮食吃,吃传球,传球你们这些家伙真烂那是什么花样游泳 和 这是我的最后一晚,所以我们要像没有明天一样生活我想我只是想,吃点东西带上所有的食物,不管是麦当劳,还是冰淇淋。 我们需要INST

  • 我对mongodb query builder很陌生,并试图结合query builder和mongodb在php(Symfony2.6)中进行全文搜索。然后,在我的操作中,我有以下查询: 此查询返回所需的结果,但不对其进行排序。我的意思是,它不会根据与查询匹配的每个文档的得分对结果进行排序。我已经研究了mongoDb中的所有文本搜索和排序文档以及堆栈溢出解答,如php、mongoDb全文搜索和排

  • 问题内容: 我已经多次重温了这个问题,但我从未真正找到合适的答案。 是否可以执行MySQL搜索,以按相关性返回ACTUAL准确排序的结果? 我试图创建一个ajax搜索表单,当用户在输入字段中键入内容时提出建议,并且仅使用纯MySQL查询还没有找到合适的解决方案。我知道有可用的搜索服务器,例如ElasticSearch,我想知道如何仅使用原始MySQL查询来实现。 我有一张学校科目表。少于1200行

  • 问题内容: 好的,所以我试图在多列中进行全文搜索,就像这样简单: 现在,我想按相关性排序(找到了多少个单词?),我已经可以使用以下方式进行处理: 现在这是我迷路的部分,我想在此列中优先考虑相关性。 我想我可以创建两个相关性列,一个用于,一个用于,但是到那时我将在表中进行三遍相同的搜索,而对于我正在执行的此功能,性能非常重要,因为查询将被联接并与其他表匹配。 因此,我的主要问题是 ,是否有更快的方法

  • 问题内容: 假设我将这样的文档存储在ElasticSearch中: 假设我使用location = CA进行搜索,如何根据“标签”中项目的数量对结果进行排序? 我想在首页中列出标签数量最多的人。 问题答案: 您可以为包含标签数量的其他字段建立索引,然后在其上轻松地对结果进行排序。否则,如果您愿意在查询时付出一点性能成本,那么有个不错的解决方案不需要重新索引数据:您可以根据如下脚本进行排序: 从基于