首页 / 知识
关于搜索:SQL Server全文搜索
2023-04-12 13:46:00

SQL Server Full Text Searching我目前正在开发一个具有SQL-Server数据库的应用程序,并且需要进行全文搜索,以使我们能够搜索人的名字。 当前,用户可以在搜索3个不同varchar cols的名称字段中输入a。名,姓,名 所以说我有3行以下信息。 1-菲利普-J-弗莱 2-艾米-空-黄 3-狮子座-空-黄 如果用户输入" Fry"之类的名称,它将返回第1行。但是,如果他们输入Phillip Fry或Fr或Phil,他们将一无所获。。我不明白为什么这样做。如果他们搜索Wong,他们将获得第2行和第3行;如果他们搜索Amy Wong,则他们将一无所获。 当前,查询使用的是CONTAINSTABLE,但我已将其与FREETEXTTABLE,CONTAINS和FREETEXT切换,结果没有任何明显的不同。首选table方法,因为它们返回相同的结果但具有排名。 这是查询。
有任何想法吗...?为什么此全文搜索无法正常工作? 如果您只是在搜索人员的姓名,那么甚至不使用全文本索引也可能是您的最大利益。当您具有较大的文本字段时,全文索引是有意义的,但是如果您每个字段最多只处理一个单词,我不确定您会从全文索引中得到多少额外的收益。等待全文索引重新索引本身,然后再搜索新记录可能是许多问题之一。 您可以进行如下查询。在空格上分割您的搜索字符串,并创建一个搜索词列表。
FreeTextTable应该工作。
@SearchString应该包含" Phillip Fry"之类的值(一个长字符串,其中包含所有用空格分隔的查找字符串)。 如果要搜索Fr或Phil,则应使用星号:Phil *和Fr * " Phil"正在寻找" Phil"一词。" Phil *"正在寻找以" Phil"开头的每个单词 感谢您的回复,我终于能够使它正常工作。包含Biri和Kibbee的部分答案。我需要在字符串中添加*并将其在空格处分开才能工作。所以最后我得到了
在搜索更多字段时,我只是将其简化为问题,对此感到抱歉,我认为这不会影响答案。实际上,它搜索的是具有昵称csv的列以及notes列。 谢谢您的帮助。 您可能想查看Lucene.net作为全文本的替代方法。 另一种方法可能是将搜索从各个字段中抽象出来。 换句话说,在您的数据上创建一个视图,该视图会将所有拆分字段(例如名姓)转换为连接字段,即full_name 然后在视图上搜索。这可能会使搜索查询更简单。 |
最新内容
相关内容
python如何连接mysql数据库
python如何连接mysql数据库,培训,数据,项目,一致,流程,数据库,参数,结果,接口,语句,python数据库接口支持非常多的数据库,你可以选择适合你项python定时修改数据库
python定时修改数据库,时间,服务,培训,单位,代码,标准,线程,操作,时间差,进程,1.传入执行改库操作的时间update_time,用update_time和当前时间python如何操作mysql数据库
python如何操作mysql数据库,培训,标准,项目,密码,数据库,接口,表字,操作,用户,机子,Python标准数据库接口为PythonDB-API,PythonDB-API为开发关于apache:如何创建自签名SSL证书
关于apache:如何创建自签名SSL证书以在测试Web应用程序时使用,关于apache:如何创建自签名SSL证书以在测试Web应用程序时使用,服务器,您使用什么工具在Linux上开发C ++
您使用什么工具在Linux上开发C ++应用程序?,您使用什么工具在Linux上开发C ++应用程序?,插件,应用程序,工具,我在,What tools do you u关于java:应用程序配置文件
关于java:应用程序配置文件,关于java:应用程序配置文件,配置文件,应用程序,方法,努力,Application configuration files好的,所以我不想关于链接器:将我的混合模式应用程序
关于链接器:将我的混合模式应用程序链接到哪些库?,关于链接器:将我的混合模式应用程序链接到哪些库?,应用程序,集成,支持,这是一个,What关于vb.net:通过文件资源管理器在我
关于vb.net:通过文件资源管理器在我的应用程序中打开文件,关于vb.net:通过文件资源管理器在我的应用程序中打开文件,应用程序,自定义,关于搜索:grep一个文件,但显示几个周
关于搜索:grep一个文件,但显示几个周围的行?,关于搜索:grep一个文件,但显示几个周围的行?,五行,显示,字符串,这一点,grep a file, but show关于sql Server:将文件存储在数据库
关于sql Server:将文件存储在数据库中而不是文件系统中?,关于sql Server:将文件存储在数据库中而不是文件系统中?,性能,文件系统,文件存iPhone Web应用程序,模板,框架?
iPhone Web应用程序,模板,框架?,iPhone Web应用程序,模板,框架?,应用程序,站点,用于,网页,iPhone web applications, templates, framework打包用于Windows / Linux桌面的Jav
打包用于Windows / Linux桌面的Java应用程序,打包用于Windows / Linux桌面的Java应用程序,应用程序,桌面,Windows/Linux,我认为,Pack