问题标签 [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.
sql-server-2008 - 全文索引类型列为空
我正在尝试在我的 SQL Server 2008 数据库中的 VarBinary(max) 字段上创建索引。
我正在采取的步骤如下:
表:dbo.Records
- 右键单击表格并选择“全文索引”
- 然后选择“定义索引...”
- 我选择主键,即我的表的 PK(字段名称 Id,类型 UniqueIndentifier)。
- 然后,我会看到带有可用列、分词器语言和类型列选项的屏幕
- 我通过勾选框选择名为 Chart 的 VarBinary(max) 字段作为可用列。
- 我选择“英语”作为分词器字段的语言。
然后...我尝试选择类型列,但这里没有条目。在填充此列之前,我无法通过单击“下一步>”继续。
为什么此列中没有可供选择的条目,其中应该包含什么?
注意 1:如果有任何区别,VarBinary(max) 字段将链接到文件组。注意2:还注意到在表格设计器中我无法将同一字段上的全文选项设置为“是” - 它永久停留在“否”。
谢谢。
sql-server-2005 - sql server 2005 全文索引查询,帮助查找内容中的干扰词
有没有办法查询全文索引来帮助确定额外的干扰词?我想添加一些自定义干扰词,并想知道是否有一种方法来分析索引以帮助确定建议。
sql - SQL Server CONTAINS with numbers 没有结果
我有一个全文索引的数据库表,我使用 CONTAINS 函数对其执行搜索查询。
当我做:
我得到所有与“植物”和“一个”字样的描述匹配的正确结果。
有些植物被命名为“植物 1”、“植物 2”等,这就是问题所在。
当我这样做时,我没有得到任何结果:
有谁知道为什么?
c# - 将 SQL Server 中的二进制文件另存为 BLOB 和文本(或从全文索引中获取文本)
目前我们正在将文件(PDF、DOC)作为 BLOB 字段保存到数据库中。我希望能够检索文件的原始文本,以便能够对其进行操作以实现高亮显示和其他功能。
有谁知道通过 SQL 或 .net 代码解析文件并在保存时保存原始文本的简单方法。我发现 Adobe 有一个 filtdump 实用程序,可以将 PDF 转换为文本。Filtdump 似乎是一个命令行工具,我看不到使用文件流的方法。Office 文档和其他文件类型的提取器是什么?
-或者-
有没有办法从 SQL 全文索引中提取原始文本,而不使用 3rd 方过滤器?
请注意,我正在尝试构建一个 .net 和 MSSql 解决方案,而无需使用第三方工具,例如 Lucene
lucene - 关于 Apache Lucene 的几个快速问题
——我不想引发任何宗教战争,但快速的谷歌搜索表明 Apache Lucene 是用于索引和搜索的首选开源工具。还有其他人吗?
-- Lucene 使用什么文件格式来存储它的索引文件?
感谢是提前。道格
python - 在 Python 中索引 CSV 文件内容
我有一个非常大的 CSV 文件,其中仅包含两个字段(id、url)。我想用 python 对 url 字段做一些索引,我知道有一些工具,比如 Whoosh 或 Pylucene。但我无法让这些例子起作用。有人可以帮我弄这个吗?
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 的扩展)的答案。也许它更适合这个问题。没有把握。
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”必须是干扰词。
现在的问题是,如果存在噪声词,我该如何让它只是忽略这些词,而不是从结果中删除它?
有小费吗?
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 {
} }
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.
我尝试了如下更新人口:
这返回:“命令成功完成。”,但是我仍然没有得到全文搜索的结果。
我错过了什么?我需要做什么才能使全文搜索正常工作?
谢谢, 艾伦