是否有一种方法只能输出其中包含n
个搜索词匹配项的文档?
F.e。我想输出所有包含搜索词"Pablo Picasso" | "Picasso Pablo"
的文档至少两次(三次,n次)。
这样的查询看起来如何?
我当前的查询是:
SELECT * FROM myIndex WHERE MATCH('"Pablo Picasso" | "Picasso Pablo"');
答案 0 :(得分:0)
您可以通过权重过滤来完成此操作(例如,结果经过多次过滤后排名会更高)
但是严格的命令运算符是一个有用的技巧...
MATCH('Pablo << Pablo')
需要两次重复这个词(即一个词在另一个词之前!)
您还可以使用primoxity运算符来简化原始查询,它只是希望单词彼此靠近,比两个短语运算符更简洁
MATCH('"Pablo Picasso"~1')
...即彼此之间不超过1个字-即邻接。
将两者结合在一起。
MATCH('"Pablo Picasso"~1 << "Pablo Picasso"~1')
还有3次出现
MATCH('"Pablo Picasso"~1 << "Pablo Picasso"~1 << "Pablo Picasso"~1')