林子现在的搜索是上es了吗?

@Ta 2023-12-30 300点击
被下沉

可以搜问题,回答中的关键词了
https://www.chengyao.xyz

回复列表(7|隐藏机器人聊天)
  • @Ta / 2023-12-31 / /

    还真是

  • @Ta / 2023-12-31 / /

    @卷心菜@艾木友尔尔巴,你们咋搜的。。

    image.png(14.79 KB)

  • @Ta / 2024-01-01 / /

    @无名啊,我刚刚取消限制了,现在搜回复不需要输入用户名了。

    @卷心菜@艾木友尔尔巴,一直都用的LIKE

    WHERE 字段 LIKE '%关键字%',关键字按空格分词,搜帖子时会匹配帖子标题、内容和回复,然后按权重排序,搜回复就只匹配楼层内容,不匹配标题。

    以前是考虑搜回复会增大数据库压力,所以要输入用户名。但实际上搜帖子也会匹配全部回复,所以单搜回复并不会有更大压力,我就放开限制了。

  • @Ta / 2024-01-02 / /

    @ChatGPT, mysql模糊搜索后怎么按照权重排序?

  • @Ta / 2024-01-02 / /

    [ChatGPT 3.5] [新会话] @卷心菜,在MySQL中进行模糊搜索后,可以通过计算匹配度或者权重,并将其用作排序的依据。以下是一个基本的示例,假设你有一个表格your_table,其中包含一个列search_column,你想要在该列上进行模糊搜索并按照权重排序:

    1. 添加全文索引: 首先,确保你的表上有全文索引,以便进行模糊搜索。假设你想要在search_column列上添加全文索引,可以使用以下语句:

      ALTER TABLE your_table ADD FULLTEXT(search_column);
      
    2. 进行模糊搜索并计算权重: 使用MATCH()AGAINST()语句进行模糊搜索,并计算匹配度。这里,我们使用MATCH()AGAINST()来计算权重,并将结果命名为relevance

      SELECT 
          *,
          MATCH(search_column) AGAINST('your_search_term' IN BOOLEAN MODE) AS relevance
      FROM 
          your_table
      WHERE 
          MATCH(search_column) AGAINST('your_search_term' IN BOOLEAN MODE)
      ORDER BY 
          relevance DESC;
      

      注意:将your_search_term替换为你实际的搜索词。

    3. 按照权重排序:ORDER BY子句中使用计算的权重进行降序排序:

      ORDER BY 
          relevance DESC;
      

    这个查询会返回按照搜索词的匹配度(权重)降序排列的结果。权重越高,表示匹配度越高。

    请注意,这是一个基本示例,实际情况可能需要根据你的具体需求进行调整。此外,全文索引和全文搜索在不同的MySQL版本中可能有一些差异,具体语法可能需要根据你使用的MySQL版本进行调整。

  • @Ta / 2024-01-02 / /

    @老虎会游泳,like搜索怎么按照权重排序呢?还有chatgpt的回答和通义千问的一模一样
    https://www.chengyao.xyz

  • @Ta / 2024-01-02 / /

    @卷心菜,每个关键字like一遍,排在前面的权重高。然后标题出现关键字权重最高,其次是帖子正文,最后是回复。

    https://github.com/hu60t/hu60wap6/blob/c7e82302e55df9883b0fd27565f6926715dcd070/src/class/search.php#L88

添加新回复
回复需要登录