多个搜索字段

发布于 2024-08-29 09:34:44 字数 99 浏览 7 评论 0原文

如果我有 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

聊慰 2024-09-05 09:34:44

您可以在存储过程或参数化 SQL 语句中尝试类似的操作。这样,即使只有少数字段具有值,您也可以传入所有字段。

@param1 varchar(25),
@param2 int,
@param3 varchar(10),
@param4 char(1)

SELECT column1, column2, column3, column4
FROM TABLE
WHERE (column1 = @param1 OR @param1 IS NULL)
AND (column2 = @param2 OR @param2 IS NULL)
AND (column3 = @param3 OR @param3 IS NULL)
AND (column4 = @param4 OR @param4 IS NULL)

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.

@param1 varchar(25),
@param2 int,
@param3 varchar(10),
@param4 char(1)

SELECT column1, column2, column3, column4
FROM TABLE
WHERE (column1 = @param1 OR @param1 IS NULL)
AND (column2 = @param2 OR @param2 IS NULL)
AND (column3 = @param3 OR @param3 IS NULL)
AND (column4 = @param4 OR @param4 IS NULL)
泪是无色的血 2024-09-05 09:34:44

我认为您可能想要使用“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/

站稳脚跟 2024-09-05 09:34:44

我相信使用 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

夏了南城 2024-09-05 09:34:44

我不喜欢通过 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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文