代码之家  ›  专栏  ›  技术社区  ›  koseduhemak

Sphinx(搜索)-匹配关键字两次(三次等)的文档

  •  0
  • koseduhemak  · 技术社区  · 7 年前

    有没有办法只输出包含 n 搜索词的匹配?

    "Pablo Picasso" | "Picasso Pablo" 至少两(三,n)次。 这样的查询是什么样子的?

    我当前的查询是: SELECT * FROM myIndex WHERE MATCH('"Pablo Picasso" | "Picasso Pablo"');

    1 回复  |  直到 7 年前
        1
  •  0
  •   barryhunter    7 年前

    你可以通过按权重过滤(即多次过滤的结果排名更高)

    但一个有用的技巧是严格顺序运算符。。。

    MATCH('Pablo << Pablo')
    

    需要这个词两次(一个在另一个之前)


    MATCH('"Pablo Picasso"~1')
    

    ... 彼此只有一个字。


    把两者结合起来。。

    MATCH('"Pablo Picasso"~1 << "Pablo Picasso"~1')
    

    因为发生了一些事

    MATCH('"Pablo Picasso"~1 << "Pablo Picasso"~1 << "Pablo Picasso"~1')
    
    推荐文章