如何减少休眠搜索(lucene)中的结果集?
how to reduce the result set in hibernate search(lucene)?
我在数据库中有 900 万种产品,当用户开始在网站的搜索框中输入产品名称时,我正在尝试使用休眠搜索来查找产品建议。这是一个自动完成功能。我已经实现了 Web 服务以使用休眠搜索从数据集中获取可能的解决方案。
数据集有 2 个字段
- 产品名称
- Url link
数据存储在我的sql中。我正在使用 org.hibernate.search.jpa.FullTextQuery 进行搜索。
结果有问题:
- 结果数量过多。当我搜索 "intel core".
时,我得到了 18K+ 个结果
- 它会导致查询响应方面的性能问题。上面的搜索用了 2 秒。
有没有办法减少我的数据集上的搜索结果以缩短查询响应时间?
使用 setMaxResults()
文档在这里:https://docs.jboss.org/hibernate/orm/3.5/javadocs/org/hibernate/Query.html#setMaxResults(int).
您可能需要调整 query/data 以获得返回的 "most relevant" 记录。
我在数据库中有 900 万种产品,当用户开始在网站的搜索框中输入产品名称时,我正在尝试使用休眠搜索来查找产品建议。这是一个自动完成功能。我已经实现了 Web 服务以使用休眠搜索从数据集中获取可能的解决方案。
数据集有 2 个字段
- 产品名称
- Url link
数据存储在我的sql中。我正在使用 org.hibernate.search.jpa.FullTextQuery 进行搜索。
结果有问题:
- 结果数量过多。当我搜索 "intel core". 时,我得到了 18K+ 个结果
- 它会导致查询响应方面的性能问题。上面的搜索用了 2 秒。
有没有办法减少我的数据集上的搜索结果以缩短查询响应时间?
使用 setMaxResults()
文档在这里:https://docs.jboss.org/hibernate/orm/3.5/javadocs/org/hibernate/Query.html#setMaxResults(int).
您可能需要调整 query/data 以获得返回的 "most relevant" 记录。