【问题标题】:search List of string spring Data MySQL搜索字符串 spring 数据 MySQL 列表
【发布时间】:2018-03-29 17:32:40
【问题描述】:

在我的应用程序中,我想允许用户搜索带有一些词的广告。所以我想获取包含列表中所有单词的所有广告。例如如果他搜索:Honda civic 2017,我想得到所有有这个词的广告没有顺序,他可以得到广告with 2001 civic honda本田 2001 思域。 到目前为止,我尝试使用 Spring 数据存储库: 界面:

Page<Annonce> findByTitreContaining(String titres ,Pageable page);

控制器:

String title;
 annonces=annoncedao.findByTitreIn(title, page);

但这个只给我包含字符串的广告

【问题讨论】:

    标签: mysql spring-boot spring-data


    【解决方案1】:

    包含搜索是您的查询参数用% 包装。在您的情况下,您搜索%Honda civic 2017%。意味着查询字符串之前和之后的所有内容都可以是任何内容,但必须在任何地方完全匹配 Honda civic 2017

    您的用例更像是全文搜索。主要使用NoSql 数据库完成。 Spring 提供了一些开箱即用的方法。例如Apache SolrElasticsearch

    您的用例的解决方法可能是拆分查询字符串并为每个拆分的字符串创建自己的包含搜索。然后将结果设置回您的返回对象。但正如我所说,这更像是一种解决方法。

    我还没有使用休眠搜索。所以不知道它是否合适,但也许它有帮助。 Add full-text search to your application with Hibernate Search

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-04-11
      • 2015-12-23
      • 2014-01-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-30
      • 2020-02-26
      相关资源
      最近更新 更多