我想知道是否有可能(比如通过嵌套的sql查询)对在布尔模式下运行的全文索引搜索结果执行查询扩展。
这不管用,但也许能帮我解释我要找的是什么:

SELECT * FROM (SELECT * FROM indexed_table AS x WHERE MATCH(x.ind_col)
AGAINST('(+word1 +word2 +word3) (+word1 +word4) (+word2 +word4)' IN BOOLEAN MODE))x
WHERE MATCH(ind_col) AGAINST('word1 word2' WITH QUERY EXPANSION);

为了澄清:我试图在第一个匹配的结果上使用第二个匹配..

最佳答案

当然,您可以在一个where子句中使用多个匹配语句,如果这满足您的要求,可以将just和它们一起使用。
这对你有用吗?

SELECT *
FROM indexed_table
WHERE MATCH(ind_col) AGAINST('(+word1 +word2 +word3) (+word1 +word4) (+word2 +word4)' IN BOOLEAN MODE)
AND MATCH(ind_col) AGAINST('word1 word2' WITH QUERY EXPANSION);

关于mysql - 是否可以在 bool 模式下执行全文索引搜索并使用查询扩展?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9068390/

10-10 04:24