如何减少休眠搜索(lucene)中的结果集?

how to reduce the result set in hibernate search(lucene)?

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

数据集有 2 个字段

  1. 产品名称
  2. Url link

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

结果有问题:

  1. 结果数量过多。当我搜索 "intel core".
  2. 时,我得到了 18K+ 个结果
  3. 它会导致查询响应方面的性能问题。上面的搜索用了 2 秒。

有没有办法减少我的数据集上的搜索结果以缩短查询响应时间?

使用 setMaxResults()

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

您可能需要调整 query/data 以获得返回的 "most relevant" 记录。