有没有办法只输出包含搜索词n
匹配项的文档?
F.e.我想输出包含搜索词的所有文档至少"Pablo Picasso" | "Picasso Pablo"
两(三,n(次。 这样的查询会是什么样子的?
我目前的查询是:SELECT * FROM myIndex WHERE MATCH('"Pablo Picasso" | "Picasso Pablo"');
您可以通过按权重过滤来做到这一点(即多次使用它的结果,排名会更高(
但是一个有用的技巧是严格顺序运算符...
MATCH('Pablo << Pablo')
将需要这个词两次(即一个在另一个之前!
你也可以使用 primoxity 运算符来简化你的原始查询,它只希望单词彼此靠近,这比两个短语运算符更简洁
MATCH('"Pablo Picasso"~1')
。即彼此之间的 1 个单词以内 - 即附加。
将两者结合起来..
MATCH('"Pablo Picasso"~1 << "Pablo Picasso"~1')
并且对于这种情况
MATCH('"Pablo Picasso"~1 << "Pablo Picasso"~1 << "Pablo Picasso"~1')