相关疑难解决方法(0)

MySQL match()对() - 按相关性和列顺序排序?

好的,我正在尝试在多个列中进行全文搜索,这样简单:

SELECT * FROM pages WHERE MATCH(head, body) AGAINST('some words' IN BOOLEAN MODE)
Run Code Online (Sandbox Code Playgroud)

现在我想按相关性排序(找到多少单词?),我可以用这样的东西做:

SELECT * , MATCH (head, body) AGAINST ('some words' IN BOOLEAN MODE) AS relevance 
FROM pages
WHERE MATCH (head, body) AGAINST ('some words' IN BOOLEAN MODE)
ORDER BY relevance
Run Code Online (Sandbox Code Playgroud)

现在这里出现了我迷失的部分,我想优先考虑head专栏中的相关性.

我想我可以创建两个相关列,一个用于head一个body,一个用于,但在那时我将在表中进行三次相同的搜索,并且对于我正在制作此功能,性能很重要,因为查询将连接并与其他表匹配.

所以,我的主要问题是,是否有更快的方法来搜索相关性并确定某些列的优先级?(作为奖励甚至可能使相关计数在列中出现的次数?)

任何建议或建议都会很棒.

注意:我将在LAMP服务器上运行它.(本地测试中的WAMP)

mysql full-text-search

73
推荐指数
4
解决办法
12万
查看次数

63
推荐指数
5
解决办法
12万
查看次数

SQL拆分逗号分隔行

我有一个包含可变数量的逗号分隔值的列:

somethingA,somethingB,somethingC
somethingElseA, somethingElseB
Run Code Online (Sandbox Code Playgroud)

我希望结果取每个值,并创建一行:

somethingA
somethingB
somethingC
somethingElseA
somethingElseB
Run Code Online (Sandbox Code Playgroud)

我怎么能在SQL(MySQL)中这样做?

(我试过谷歌搜索"内爆"和"侧视图",但那些似乎没有出现相关的问题.所有相关的SO问题都试图做更复杂的事情)

mysql sql hive

20
推荐指数
1
解决办法
5万
查看次数