有没有办法只输出包含n
搜索词匹配的文档?
Fe 我想输出包含搜索词"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')