【问题标题】:When to use Lucene/Hibernate Search何时使用 Lucene/Hibernate 搜索
【发布时间】:2014-11-14 12:24:23
【问题描述】:

我正在开发一个应用程序,其中我们有不同类型的搜索。其中一些是对 MYSQL 数据库中多个列的全文搜索,我正在使用 Hibernate Search(内部使用 lucene)来搜索这些。

现在我的问题是如果不是全文的简单数据库搜索该怎么办。表单搜索:

select * from table1,table2 where table1.col1='testval' and table1.col2=table2.col2;

如果我使用休眠搜索,这样的搜索会更好吗,或者对性能没有影响,因为这不是全文搜索

【问题讨论】:

  • 顺便说一句,您可能应该将该 SQL 查询重写为 join
  • 有什么理由拒绝投票?
  • 在完全明智的问题上,这里有一大堆愚蠢的反对意见。除了忽略它,你无能为力。我赞成这个问题以消除愚蠢。

标签: mysql hibernate search lucene hibernate-search


【解决方案1】:

使用 Lucene / Hibernate Search 肯定会提高性能。原因是它会在本地维护一个索引,然后将其用于搜索,而不是必须查询数据库来检索结果,因此它会减少您的网络流量并减少数据库的负载。

当然,对于具有轻负载的网络和数据库的简单应用程序,您不一定会注意到任何差异,但是当事情开始扩大时,您会注意到。避免不必要的数据库查询越多越好。

【讨论】:

  • 因此,如果我们确实计划扩展应用程序,让我们假设大约 100 万用户使用主动搜索,您是否建议让所有搜索都基于 Hibernate/Lucene,因为它会给我们带来性能优势跨度>
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-07-06
相关资源
最近更新 更多