问题标签 [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.

0 投票
3 回答
51722 浏览

oracle - Oracle 是否支持全文搜索?

是否有与 MS SQL 的全文搜索服务相当的 Oracle?

如果是这样,有没有人实施它并有好的/坏的经验?

0 投票
2 回答
2493 浏览

sql-server-2005 - 如何跨多个表使用全文搜索,SQL Server 2005

我有一个包含两个表格的全文目录。

tableA 有 4 列(a1、a2、a3、a4),其中 3 列在目录 a2、a3、a4 中建立索引。a1 是主键。

tableB 有 3 列(b1、b2、b3、b4),其中两列在目录中被索引,b3 和 b4。b1 是这个表的 PK,b2 是表 A 的 FK。

我想做类似的事情

但这不起作用......我可以让一张桌子工作,例如。

但从不超过一张桌子。

有人可以给出对多个表进行全文搜索所需的步骤的解释和/或示例。

0 投票
1 回答
3815 浏览

php - 将 Google 搜索查询转换为 PostgreSQL“tsquery”

如何将 Google 搜索查询转换为可以提供 PostgreSQL 的 to_tsquery() 的内容?

如果那里没有现有的库,我应该如何用 PHP 之类的语言解析 Google 搜索查询?

例如,我想采用以下 Google-ish 搜索查询:

并将其转换为对 to_tsquery() 友好的字符串:

我可以用正则表达式捏造这个,但这是我能做的最好的。是否有一些强大的词法分析方法来解决这个问题?我也希望能够支持扩展搜索运算符(例如 Google 的 site: 和 intitle:),它们将适用于不同的数据库字段,因此需要与 tsquery 字符串分开。

更新:我意识到,使用特殊运算符,这将成为 Google 到 SQL WHERE 子句的转换,而不是 Google 到 tsquery 的转换。但是 WHERE 子句可能包含一个或多个 tsqueries。

例如,谷歌风格的查询:

应该产生这样的 SQL WHERE 子句:

我不确定正则表达式是否可以实现上述操作?

0 投票
1 回答
334 浏览

mysql - MySQL全文反对()

我正在尝试使用 MySQL 全文创建搜索页面。

我有一个带有文本框的搜索页面:

我将用户的输入传递给另一个运行查询的网页(catalog.php):

我在against()函数中放置什么?

该参数需要从最后一页中提取用户的输入。

0 投票
3 回答
4551 浏览

oracle - Oracle Text:如何清理用户输入

如果有人有使用 Oracle 文本 ( CTXSYS.CONTEXT) 的经验,我想知道当用户想要搜索可能包含撇号的名称时如何处理用户输入。

在某些情况下,转义 ' 似乎有效,但对于单词末尾的 's 无效 - s 在停用词列表中,因此似乎被删除了。

我们目前将简单的查询文本(即任何只是字母的内容)更改%text%为 ,例如:

搜索O'Neil有效,但Joe无效。

有没有人使用 Oracle Text 处理过这个问题?

0 投票
1 回答
902 浏览

annotations - Compass Search Annotations 导致编译器错误

我试图在我的 Java 程序中使用 Compass 搜索引擎中的 @Searchable 注释,但我收到一个编译时错误:“类型不匹配:无法将 Searchable 转换为注释”。

我已经包含了我能想到的所有 jar 文件,并在网上搜索了工作示例,但无济于事。

有人有指南针注释的工作示例吗?

0 投票
6 回答
23367 浏览

sql-server - 是否可以将全文搜索 (FTS) 与 LINQ 一起使用?

我想知道是否可以使用 .NET Framework 3.5 将 FTS 与 LINQ 一起使用。我正在搜索尚未发现任何有用的文档。

有没有人有这方面的经验?

0 投票
6 回答
81393 浏览

sql - 什么是全文搜索与 LIKE

我刚刚阅读了一篇在 SQL 中提到“全文搜索”的帖子。

我只是想知道 FTS 和 LIKE 之间的区别是什么。我确实阅读了几篇文章,但找不到任何可以很好地解释它的东西。

0 投票
2 回答
22903 浏览

mysql - MySQL全文搜索分数解释

我最近一直在尝试全文搜索,并对 Score 值的含义感到好奇。例如,我有以下查询:

在 Score 的结果中,我看到一个查询的结果在 0.4667041301727 到 11.166275978088 之间。我知道这是 MySQL 的相关性概念(权重越高)。

我不明白 MySQL 是如何得出这个分数的。为什么数字不作为小数或其他东西返回?

如果我运行查询“IN BOOLEAN MODE”,分数总是返回 1 还是 0 怎么办?不是所有的结果都是1吗?

只是希望得到一些启示。谢谢。

0 投票
2 回答
1580 浏览

oracle - 如何在 oracle 文本索引中添加权重?

我在一个表上创建了一个多列数据存储,它允许我对表进行全文索引。我需要做的是对每一列进行不同的加权并将分数加在一起。

以下查询有效,但速度很慢:

经过相当多的谷歌搜索,人们提出了解决方案:

上面的查询比它的前任更快,但它并没有解决实际问题。在这种情况下,如果在 documentTitle 中找到关键字,则不会搜索 documentText(它使用 OR 运算符)。我真正需要的是把这两个分数加在一起,这样如果一个关键字出现在标题和文本中,它的分数就会比它只出现在标题中的分数高。

那么,如何在一个 CONTAINS 子句中添加加权列的分数?