我想知道是否有可能(比如通过嵌套的 sql 查询)对使用 IN BOOLEAN MODE 运行的 FULLTEXT INDEX 搜索的结果执行 WITH QUERY EXPANSION。
这行不通,但也许它会帮助解释我在寻找什么:
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);
澄清一下:我正在尝试对第一个 MATCH..AGAINST(“IN BOOLEAN MODE”)的结果使用第二个 MATCH..AGAINST(“WITH QUERY EXPANSION”)。
最佳答案
您当然可以在单个 WHERE 子句中使用多个 MATCH 语句,如果满足您的要求,则将它们与一起。
这对你有用吗?
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/