java - 如何减少hibernate搜索(lucene)中的结果集?

标签 java hibernate autocomplete lucene hibernate-search

我在数据库中有 900 万个产品,当用户开始在网站的搜索框中输入产品名称时,我尝试使用 hibernate 搜索来查找产品的建议。这是一个自动完成功能。我已经实现了 Web 服务,以便使用 Hibernate 搜索从数据集中获取可能的解决方案。

数据集有 2 个字段

  1. 产品名称
  2. 网址链接

数据存储在我的sql中。我正在使用 org.hibernate.search.jpa.FullTextQuery 进行搜索。

结果存在问题:

  1. 结果数量太多。当我搜索“intel core”时,我得到了超过 18K 个结果。
  2. 它会导致查询响应方面的性能问题。上述搜索花费了 2 秒。

有没有办法减少我的数据集上的搜索结果,以获得更好的查询响应时间?

最佳答案

使用setMaxResults()

这里的文档:https://docs.jboss.org/hibernate/orm/3.5/javadocs/org/hibernate/Query.html#setMaxResults(int) .

您可能需要调整查询/数据以获得返回的“最相关”记录。

关于java - 如何减少hibernate搜索(lucene)中的结果集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41799021/

相关文章:

java - 启动过滤器 struts2 时出现异常 无法加载配置。怎么了?

java - 为什么在子类重写时,我通过反射获取基类方法?

hibernate - Fetch Type LAZY 仍然导致 Eager 加载 Hibernate Spring 数据

reactjs - 组件正在更改不受控制的自动完成以进行控制

ruby - Emacs ruby​​ 符号单词补全

java - Android 的 READ_EXTERNAL_STORAGE 权限

java - 我的 java 计算器需要帮助

java - 从 hibernate session 中删除对象?

java - 如何在 Hibernate 中映射 BigDecimal,以便返回与输入时相同的比例?

java - Intellij 完成贡献者完成结果集