多个搜索字段
如果我有 20 个或更多的搜索字段并且任何组合都应该有效,那么最好的方法是什么。是否有任何特殊的方法可以在 openJPA 或本机 SQL 中执行此操作更好。任何想法都会有帮助。谢谢。
What will be the best approach if I have search fields for 20 or more and any combination should be valid. Is there any special way to do it in openJPA or native SQL is better. Any idea would be helpful.Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
您可以在存储过程或参数化 SQL 语句中尝试类似的操作。这样,即使只有少数字段具有值,您也可以传入所有字段。
You can try something like this in a stored procedure or parameterized SQL statement. This way you can pass in all of the fields even if only a few have values.
我认为您可能想要使用“Hibernate Search”之类的东西,它将全文搜索引擎的强大功能引入数据库模型。因此,您可以提供类似谷歌搜索的功能来执行客户想要执行的任何搜索组合。
我开发了一个带有 GUI 的演示应用程序来测试各种查询类型。
查看 -
http://code.google.com/p/hb-search-demo/< /a>
I think you might want to use something like "Hibernate Search" which brings the power of full text search engines to DB model. Thus, you can provide a google search like feature to do whatever combination of search your customers want to perform.
I had developed a demo app with a GUI to test out various query types.
Check out -
http://code.google.com/p/hb-search-demo/
我相信使用 criteria api 是最好的方法。
请阅读该链接并检查您自己的链接:
I believe that using criteria api is the best way forward.
Please read that link and check for your own:
http://openjpa.apache.org/builds/2.0.0-beta3/apache-openjpa-2.0.0-beta3/docs/manual/jpa_overview_criteria.html
我不喜欢通过 SQL 运行全文搜索。对于像使用 Solr 这样的搜索引擎之类的东西。
http://lucene.apache.org/solr/
其功能概述:
http://lucene.apache.org/solr/features.html
I don't like running full text searches through SQL. For stuff like to use a search engine like Solr.
http://lucene.apache.org/solr/
an overview of its features:
http://lucene.apache.org/solr/features.html