问题标签 [full-text-search]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql - 为什么 SQL 全文索引不返回包含 # 的单词的结果?
例如,我的查询使用 SQL Server 2005 如下所示:
我定义了一个全文索引以使用 SearchField 列,该列在使用时返回结果:
我相信 # 是一个特殊的字母,那么如何让 FREETEXT 对上述查询正常工作?
sql-server - 如何让领先的通配符全文搜索在 SQL Server 中工作?
注意:我正在使用 SQL 的全文搜索功能、CONTAINS 子句和所有 - * 是全文中的通配符,% 仅用于 LIKE 子句。
我现在在几个地方读到 MS SQL 不支持“前导通配符”搜索(例如,使用“*overflow”来匹配“stackoverflow”)。我正在考虑使用CLR 函数来添加正则表达式匹配,但我很想知道人们可能有什么其他解决方案。
更多信息:您只能在单词或短语的末尾添加星号。- 连同我的经验经验:当匹配“myvalue”时,“my*”有效,但“(星号)值”返回不匹配,当做一个简单的查询时:
因此,我需要一种解决方法。我只是在我的网站上的实际搜索页面上使用搜索 - 所以它的工作方式必须与 Google 的工作方式基本相同(在 Joe Sixpack 类型的用户看来)。没有那么复杂,但这种匹配真的不应该失败。
sql-server - 如何在 SQL Server 2005 Express 中启用全文索引?
我正在尝试在 SQL Server 2005 Express 中启用全文索引。我在装有 Vista Ultimate 的笔记本电脑上运行它。
我了解 SQL Server Express 的标准版本没有全文索引。我已经下载并安装了“Microsoft SQL Server 2005 Express Edition with Advanced Services Service Pack 2”(下载)。
我还确保“SQL Server(实例)”和“SQL Server 全文搜索(实例)”服务都在“网络服务”的同一帐户上运行。
我还在“数据库属性”>“文件”区域中选择了“使用全文索引”选项。
我可以运行 sql 查询“SELECT fulltextserviceproperty('IsFulltextInstalled');” 并返回 1。
我遇到的问题是,当我在设计视图中打开表格并选择“管理全文索引”时;全文索引窗口显示消息...
“无法创建全文索引。请检查您是否拥有正确的权限或是否定义了全文目录。”
关于检查什么或下一步去哪里的任何想法?
sql-server - SQL Server 全文搜索
我目前正在开发一个应用程序,我们有一个 SQL-Server 数据库,我需要进行全文搜索,以便我们搜索人名。
目前,用户可以在搜索 3 个不同 varchar cols 的名称字段中输入 a。名、姓、中间名
所以说我有 3 行包含以下信息。
1 - 菲利普 - J - 弗莱
2 - 艾米 - NULL - 黄
3 - 狮子座 - NULL - 黄
如果用户输入诸如“Fry”之类的名称,它将返回第 1 行。但是,如果他们输入 Phillip Fry、Fr 或 Phil,他们将一无所获。我不明白为什么要这样做。如果他们搜索 Wong,他们会得到第 2 行和第 3 行,如果他们搜索 Amy Wong,他们将再次一无所获。
目前,查询使用的是 CONTAINSTABLE,但我已将其切换为 FREETEXTTABLE、CONTAINS 和 FREETEXT,结果没有任何明显差异。首选表格方法,因为它们返回相同的结果但具有排名。
这是查询。
有任何想法吗...?为什么这个全文搜索不能正常工作?
sql-server-2005 - 您可以在 SQL Server 2005 上使用 FREETEXT() 对关键字执行 AND 搜索吗?
当使用多个术语时,请求将 SO 搜索默认为与当前 OR 相比的 AND 样式功能。
官方的回应是:
不像听起来那么简单;我们使用 SQL Server 2005 的FREETEXT()函数,但我找不到指定 AND 与 OR 的方法 - 你可以吗?
那么,有没有办法呢?
我可以找到很多关于它的资源,但我不是专家。
sql-server - 如何在 SQL Server 的左连接表上全文搜索多个条件?
我有一个最初看起来像这样的查询:
在一个有 90,000 条记录的数据库上,这个查询大约需要 7 秒的时间来执行(显然所有的连接和点赞都是很费力的)。
我一直在尝试找到一种方法,通过对相关列进行全文搜索来降低查询执行时间。但是,我还没有看到这样的具有三个表连接的全文搜索示例,尤其是因为我的连接条件不是搜索词的一部分。
有没有办法在全文搜索中做到这一点?
@大卫
是的,ID 上有索引。
我已经尝试在 CustomerAddress 的东西(CityName、PostalCode 等)上添加索引,它将查询缩短到 3 秒,但我仍然发现这样的事情太慢了。
请注意,所有文本字段(ID 除外)都是 nvarchars,而 Line1 是 nvarchar 1000,因此可能会影响速度,但仍然如此。
c++ - MS SQL、C++ 解决方案的最佳全文搜索替代方案
Microsoft SQL 的最佳全文搜索替代方案是什么?(适用于 MS SQL)
我正在寻找类似于Lucene和Lucene.NET但没有 .NET 和 Java 要求的东西。我还想找到一种可用于商业应用的解决方案。
algorithm - 如何实现“相关”度测量算法?
今天早些时候,当我看到 Stackoverflow 中一个令人惊讶的功能时,我打算问一个问题。当我写我的问题标题时,stackoverflow 向我建议了几个相关的问题,我发现已经有两个类似的问题。那太棒了!
然后我开始思考如何实现这样的功能。我将如何按相关性排序问题:
- 词数较多的问题与新问题匹配
- 如果匹配数相同,则考虑单词的顺序
- 标题中出现的词具有更高的相关性
那将是一个简单的工作流程还是一个复杂的评分算法?也许是为了增加召回率?有没有实现这个功能的库?你还会考虑哪些其他方面?也许杰夫可以回答自己!你是如何在 Stackoverflow 中实现的?:)
svn - 搜索颠覆历史(全文)
有没有办法对颠覆存储库执行全文搜索,包括所有历史记录?
例如,我编写了一个我在某处使用过的功能,但后来不需要它,所以我 svn rm'd 文件,但现在我需要再次找到它以将其用于其他用途。svn 日志可能会说“删除未使用的东西”之类的东西,并且有很多这样的签入。
编辑 2016-04-15:请注意,此处“全文搜索”一词所要求的是搜索提交历史记录的实际差异,而不是文件名和/或提交消息。我指出这一点是因为作者上面的措辞并没有很好地反映这一点——因为在他的例子中,他可能只是在寻找文件名和/或提交消息。因此有很多svn log
答案和评论。
sql-server - MS SQL FTI - 搜索“n*”返回数字
这似乎是 SQL 全文索引中的奇怪行为。
FTI 以“NN”前缀将数字存储在其索引中,因此“123”保存为“NN123”。
现在,当用户搜索以 N 开头的单词(即包含 "n*" )时,他们也会得到所有数字。
所以:
回报:
有没有排除最后一行的好方法?是否有一致的解决方法?
需要这些额外的 "" 才能使通配符令牌起作用:
将搜索文字 n* - 并且没有。