问题标签 [full-text-indexing]

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 投票
1 回答
910 浏览

sql-server-2008 - 全文索引类型列为空

我正在尝试在我的 SQL Server 2008 数据库中的 VarBinary(max) 字段上创建索引。

我正在采取的步骤如下:

表:dbo.Records

  • 右键单击表格并选择“全文索引”
  • 然后选择“定义索引...”
  • 我选择主键,即我的表的 PK(字段名称 Id,类型 UniqueIndentifier)。
  • 然后,我会看到带有可用列、分词器语言和类型列选项的屏幕
  • 我通过勾选框选择名为 Chart 的 VarBinary(max) 字段作为可用列。
  • 我选择“英语”作为分词器字段的语言。

然后...我尝试选择类型列,但这里没有条目。在填充此列之前,我无法通过单击“下一步>”继续。

为什么此列中没有可供选择的条目,其中应该包含什么?

注意 1:如果有任何区别,VarBinary(max) 字段将链接到文件组。注意2:还注意到在表格设计器中我无法将同一字段上的全文选项设置为“是” - 它永久停留在“否”。

谢谢。

0 投票
2 回答
868 浏览

sql-server-2005 - sql server 2005 全文索引查询,帮助查找内容中的干扰词

有没有办法查询全文索引来帮助确定额外的干扰词?我想添加一些自定义干扰词,并想知道是否有一种方法来分析索引以帮助确定建议。

0 投票
2 回答
574 浏览

sql - SQL Server CONTAINS with numbers 没有结果

我有一个全文索引的数据库表,我使用 CONTAINS 函数对其执行搜索查询。

当我做:

我得到所有与“植物”和“一个”字样的描述匹配的正确结果。

有些植物被命名为“植物 1”、“植物 2”等,这就是问题所在。

当我这样做时,我没有得到任何结果:

有谁知道为什么?

0 投票
5 回答
3909 浏览

c# - 将 SQL Server 中的二进制文件另存为 BLOB 和文本(或从全文索引中获取文本)

目前我们正在将文件(PDF、DOC)作为 BLOB 字段保存到数据库中。我希望能够检索文件的原始文本,以便能够对其进行操作以实现高亮显示和其他功能。

有谁知道通过 SQL 或 .net 代码解析文件并在保存时保存原始文本的简单方法。我发现 Adob​​e 有一个 filtdump 实用程序,可以将 PDF 转换为文本。Filtdump 似乎是一个命令行工具,我看不到使用文件流的方法。Office 文档和其他文件类型的提取器是什么?

-或者-

有没有办法从 SQL 全文索引中提取原始文本,而不使用 3rd 方过滤器?

请注意,我正在尝试构建一个 .net 和 MSSql 解决方案,而无需使用第三方工具,例如 Lucene

0 投票
2 回答
134 浏览

lucene - 关于 Apache Lucene 的几个快速问题

——我不想引发任何宗教战争,但快速的谷歌搜索表明 Apache Lucene 是用于索引和搜索的首选开源工具。还有其他人吗?

-- Lucene 使用什么文件格式来存储它的索引文件?

感谢是提前。道格

0 投票
2 回答
1654 浏览

python - 在 Python 中索引 CSV 文件内容

我有一个非常大的 CSV 文件,其中仅包含两个字段(id、url)。我想用 python 对 url 字段做一些索引,我知道有一些工具,比如 Whoosh 或 Pylucene。但我无法让这些例子起作用。有人可以帮我弄这个吗?

0 投票
3 回答
1263 浏览

full-text-search - 如何为 B2B 网络应用程序设置 Lucene/Solr?

鉴于:

  • 每个客户 1 个数据库(商业客户)
  • 5000个客户
  • 客户有 2 到 2000 个用户(平均约为 100 个用户/客户)
  • 每个数据库 100k 到 1000 万条记录
  • 用户需要经常搜索这些记录(这是导航数据的最佳方式)

可能相关信息:

  • 每周有几个新客户(工作时间内的任何时间)
  • 多个网络服务器和数据库服务器(用户可以通过任何网络服务器登录)
  • 让我们对语言或 sql 品牌保持不可知论,因为 Lucene(和 Solr)有广泛的支持

例如:

Joel Spolsky 在Podcast #11中说,他的托管网络应用产品 FogBugz On-Demand 使用了 Lucene。他有成千上万的按需客户。每个客户都有自己的数据库。

他们为每个客户端使用一个索引并将其存储在客户端的数据库中。我不确定细节。而且我不确定这是否是对 Lucene 的严重修改。

问题:

您将如何设置 Lucene 搜索,以便每个客户端只能在其数据库中搜索?

您将如何设置索引?
您将索引存储在哪里?
您是否需要为所有搜索查询添加过滤器?
如果客户取消,您将如何删除他们的(部分)索引?(这可能是微不足道的——还不确定)

可能的解决方案:

为每个客户端(数据库)建立一个索引

  • 优点:搜索速度更快(比一个索引方法)。索引与客户端数据的大小有关。
  • Con:我不确定这意味着什么,也不知道这是否超出了 Lucene 的范围。

拥有一个带有 database_name 字段的巨大索引。始终包含 database_name 作为过滤器。

  • 临:不确定。也许对技术支持或计费部门搜索所有数据库信息有好处。
  • 缺点:搜索速度较慢(比 index-per-client 方法)。如果查询过滤器被删除,安全性有缺陷。

最后一件事:
我也会接受使用Solr(Lucene 的扩展)的答案。也许它更适合这个问题。没有把握。

0 投票
1 回答
1682 浏览

sql-server - 在 CONTAINSTABLE SQL SERVER FULL TEXT SEARCH 中使用“AND”时遇到问题

我使用 FULL-TEXT 已经有一段时间了,但有时我似乎无法获得最相关的结果。

如果我有一个类似于An Overview of Pain Medicine 5/12/2006用户类型的字段An Overview 5/12/2006

所以我们创建一个搜索,如:

"An" AND "Overview" AND "5/12/2006"- 0 个结果(差)

"Overview" AND "5/12/2006"- 1 个结果(好)

我的查询的 CONTAINSTABLE 部分:

“可搜索”是一个包含活动标题的字段,并且在一个字段中包含开始日期(转换为字符串),因此它对搜索都很友好。

为什么会发生这种情况?

[更新]

好的,我刚刚测试了噪声词理论。我用过"Pain" AND "Overview" AND "5/12/2006",效果很好。

但是,如果我添加“of”它会失败。“Of”和“An”必须是干扰词。

现在的问题是,如果存在噪声词,我该如何让它只是忽略这些词,而不是从结果中删除它?

有小费吗?

0 投票
1 回答
1107 浏览

java - 使用 Lucene 索引文本文档时出现异常,使用 SnowballAnalyzer 进行清理

我正在使用 Lucene 对文档进行索引,并尝试应用 SnowballAnalyzer 从文本中删除标点符号和停用词。我不断收到以下错误:(

IllegalAccessError:试图从类 org.apache.lucene.analysis.snowball.SnowballAnalyzer 访问方法 org.apache.lucene.analysis.Tokenizer.(Ljava/io/Reader;)V

这是代码,我将非常感谢帮助!!!!我是新来的..

公共类索引器{

}

private void indexDocument(File someDoc) 抛出 IOException {

} }

0 投票
1 回答
4432 浏览

sql-server - SQL Server 全文搜索不产生任何结果

我有带有高级服务的 SQL Server 2005 Express Edition。我启用了全文并创建了一个目录,如下所示:

然后我创建了一个全文索引,如下所示:

我执行了以下查询:

并得到以下结果:

1) 0
2) 24

我意识到填充全文索引可能需要一些时间。然而,尽管有很多时间(12 小时),我仍然没有得到任何结果。然后我使用 ObjectPropertyEx() 函数进一步调查并执行了以下操作:

这给出了以下结果:

TableFullTextBackgroundUpdateIndexOn 1 TableFullTextChangeTrackingOn
1 TableFulltextDocsProcessed
11024 TableFulltextFailCount
0 TableFulltextItemCount
4038 TableFulltextKeyColumn
1 TableFulltextPendingChanges
0
TableHasActiveFulltextIndex 1

然后,我尝试按如下方式重新填充索引:

我收到以下警告:

Warning: Request to start a full-text index population on table or indexed view 'Cell' is ignored because a population is currently active for this table or indexed view.

我尝试了如下更新人口:

这返回:“命令成功完成。”,但是我仍然没有得到全文搜索的结果。

我错过了什么?我需要做什么才能使全文搜索正常工作?

谢谢, 艾伦