数据库
首页 > 数据库> > mysql – 为全文sql列编写Slick查询

mysql – 为全文sql列编写Slick查询

作者:互联网

我有一个带有相应标签列表的“条目”列表.我需要编写一个灵活的查询,我给出了一个’标签’列表,我必须搜索一个MYSQL表来搜索那些给出’tags’作为一个类型’fulltext’列的子集的表条目.每个帖子都是表格的一行,包含一列中的帖子编号和另一列中FULLTEXT类型的标签列表.此列表中可以有多个标记.我正在搜索的标签列表中也可以有多个标签.有没有办法在Slick中进行FULLTEXT布尔搜索,以找到带有正确标签的帖子?

解决方法:

这是一个较老的问题,但万一有人碰到这个(像我一样) – 也许这会有所帮助.
正如克里斯托弗指出的那样,它可以直接使用SimpleExpression.

    val fulltextMatch = SimpleExpression.binary[String,String,Boolean] { (col,search,qb) =>
      qb.sqlBuilder += "match("
      qb.expr(col)
      qb.sqlBuilder += ") against ("
      qb.expr(search)
      qb.sqlBuilder += " in boolean mode)" 
    }

然后用作:
..如果是fulltextMatch(t.comment,s.bind)

标签:scala,mysql,slick,full-text-search
来源: https://codeday.me/bug/20190825/1715273.html