提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
原创|使用教程|编辑:龚雪|2013-11-13 11:33:21.000|阅读 479 次
概述:Windows Azure SQL Database不支持CONTAINS关键词,这个功能需要通过第三方软件来实现。本文将介绍在Windows Azure SQL Database中如何使用dtSearch Engine实现全文搜索功能。
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
Windows Azure SQL Database不支持CONTAINS关键词。CONTAINS非常重要,因为它支持搜索单个词和短语的精确或模糊(不太精确的)匹配项、在一定差别范围内的相近词或加权匹配项。CONTAINS是一个谓词,用于在Transact-SQL SELECT语句的中对包含基于字符的数据类型的全文索引列执行SQL Server全文搜索。
不过这个功能可以通过第三方软件来实现。本文以旧金山的所有电影信息为例来介绍如何实现。这些数据不是很标准,有些信息非常不好搜索。我使用的SQL数据库托管在了Windows Azure平台上。
我的目标是在数据库表中能够找到记录,快速、高效地搜索所有列和所有区域。实际上,我想建立一个主索引,允许我对生成的索引执行本地搜索,然后一旦我发现我要寻找的记录就能从特定数据库表中提取出来。
dtSearch可以帮助我实现以上目标。首先我下载并安装它(下载dtSearch)。当然,其他的许多搜索需求我也是使用它来完成,dtSearch的搜索功能非常齐全。在这篇文章中,将重点放在如何快速执行数据库表的全文检索索引。
本文你将学习到:
这个例子后面可能会扩展这个示例并从dtSearch中检索符合条件的记录。
为了执行下面的演示,必须要设置相关的环境。
这个任务是创建一个存储我们所有的搜索内容的虚拟机。
1、请注意下面我安装dtSearch注册的组件之一。Regsvr32是使工作开始的一个重要命令。
注册组件
2、本文使用Visual Studio 2013作为IDE。从菜单中选择“文件|打开|项目”。
打开项目
3、导航中显示了dtSearch的安装文件夹。 (C:\Program Files (x86)\dtSearch Developer\examples\cs4\ado_demo\bin\x64\Debug\index)。打开项目,如下图所示。
打开解决方案
4、请注意,在下面的截图中可以看到数据库已经存在了。这个数据库名为SFmovies。正如前面提到的,这个数据包含在过去几十年中旧金山拍摄的电影信息。
在Windows Azure portal中查看数据库
接下来我们将介绍如何获取连接字符串信息。不幸的是,Windows Azure portal不提供需要连接字符串的确切格式。
5、请注意,在下图所示的右下角,你可以查看数据库的连接信息。这个信息以便于Visual Studio项目可以连接到数据库并索引数据库里面的信息。
查看连接信息
6、下图显示的是需要连接到数据库的连接字符串。dtSearch要求此连接字符串调用时要使用不同格式——OLEDb。我们将把信息放入ADO.NET连接字符串,并修改它和OLEDb一致。
查看ADO.NET连接字符串
7、请注意,下图中的连接字符串已经被修改为与dtSearch所需要的格式一致。这是OLEDB所需的格式。
格式化的连接字符串
8、 连接字符串需要一个连续的线,如下图所示。你的连接字符串和下图的可能会有明显的差异。
连接字符串
我们将使用SQL Server management studio来查看数据库索引。
9、为了测试连接和查看实际的数据结构,我们将启动SQL Server Management Studio。在对象资源管理器窗口单击数据库引擎。
SQL Server Management Studio
10、同样的信息被用于连接字符串,将在SQL Server Management Studio中工作。
连接到数据库
11、如下所示,选择创建一个查询显示电影表中的记录。
在SFmovies数据库中查看电影表
12、注意,下图中的所有电影信息均显示在SQL Server Management Studio中。
显示电影信息
13、现在,我们已经有了连接字符串,我们可以开始执行示例了(ADONETDemo)。你可以在这里下载这个项目文件: (C:\Program Files (x86)\dtSearch Developer\examples\cs4\ado_demo\ADONETDemo.sln)。从Build菜单,你可以生成解决方案。
运行dtSearch项目
14、 一旦项目运行,你将看到一个弹出窗。点击按钮读取数据库索引。
索引数据库
15、请注意下图中的索引目录。数据库索引一旦被创建,索引文件将被存储在如下图中的文件夹里。单击下图中的“Index”按钮。
索引数据库
16、这时,应用程序将需要你的 OLEDB 连接字符串。将其粘帖到下图所示的红框中。然后单击“OK”。
输入连接字符串
17、索引创建完成可能需要花几分钟时间。下图中最下面的红框中表示索引创建的进度。
索引数据库
18、在相应的索引文件夹中,可以看到此过程中已经生成的索引文件列表。
查看已生成的索引
19、现在,索引已经处理完了,接下来我们要运行应用程序并执行搜索。点击下图红框中的按钮即可执行搜索。
在数据库中嵌入字符串搜索
20、当你键入搜索字符串,在左边的列表框中你可以看到成功发现的字符串。点击搜索按钮可以深入到搜索结果中。
输入搜索字符串
21、所有的结果都显示在搜索结果窗口中。下图中左边的窗口显示了电影行的ID,这个ID作为记录在数据库中的唯一标识。我们不能回到SQL Server Management Studio中查看记录。
注意:在一个真实的应用程序你可以提取行ID,然后再执行另一个查询。
查看搜索细节
22、请注意,如果我们为电影地301行做导航,我们可以看到《Golden Gate Bridge》在SQL Server Management Studio结果窗口中可见。
查看搜索结果
在SQL数据库中快速找到内容是生产力的关键所在。通过本文创建例子的后,你应该能够创建拥有快速全文检索功能的应用程序了。
dtSearch Engine除了文章中所介绍的功能外,还有许多高级功能,包括分面搜索(Faceted Search)、在SQL数据库中高亮全文搜索BLOB数据等。
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn
文章转载自:慧都控件网本文探讨 SQL Server 中 NULL 和空值之间的区别,并讨论如何有效地处理它们。
Unity 是一款功能极其丰富的游戏引擎,允许开发人员将各种媒体集成到他们的项目中。但是,它缺少最令人兴奋的功能之一 - 将 Web 内容(例如 HTML、CSS 和 JavaScript)直接渲染到 3D 场景中的纹理上的能力。在本文中,我们将介绍如何使用 DotNetBrowser 在 Unity3D 中将 Web 内容渲染为纹理。
DevExpress v24.2帮助文档正式发布上线了,请按版本按需下载~
本教程将向您展示如何用MyEclipse构建一个Web项目,欢迎下载最新版IDE体验!
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@pclwef.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢