我想在数十亿字符串中进行一般子字符串搜索.该要求与一般全文搜索略有不同,因为我想查询"ubst"也可以点击"substr".
Lucene或Sphinx能做到这一点吗?如果没有,你认为最好的方法是什么?
我有一个包含许多测试字段的查询,如下所示:
SELECT * FROM some-table
WHERE field1 ILIKE "%thing%"
OR field2 ILIKE "%thing"
OR field3 ILIKE "%thing";
Run Code Online (Sandbox Code Playgroud)
列几乎都是varchar(50)或左右.现在我理解提高性能我应该索引搜索操作的字段.我应该考虑完全用TSEARCH替换ILIKE吗?
我正在寻找SQL Server 2016全文索引,它们很棒,可以搜索查找包含字符串的多个单词
当我尝试撰写全文索引时,它显示Statistical Semantics
为复选框.统计语义有什么作用?
而且,我想找到你的意思是查询
例如,假设我有一个记录house
.用户类型hause
我可以使用全文索引hause
作为最接近的匹配返回并显示用户你的意思是房子有效吗?谢谢
我尝试过soundex,但它产生的结果非常糟糕
它返回了许多无关的词
由于我的数据库中有如此多的记录,我需要非常快的结果,我需要SQL服务器本身支持的东西
有任何想法吗?使用索引实现这种事情的任何方法?
我知道有多种算法,但它们对我来说在线使用效率不高.我的意思是计算每个记录之间的编辑距离.它们可以用于离线项目,但我需要在一个在线词典中提高效率,这里会不断有数千个请求.
我已经有了一个计划.在数据库中存储未找到的结果并离线计算最接近的匹配.并将它们用作缓存.但是,我想知道任何可能存在的在线/实时解决方案?考虑将有超过100m的nvarchar记录
sql sql-server full-text-search full-text-indexing statistical-semantics
似乎 Solr 没有正确解析我的 PDF 文件。我想知道是否还有其他替代方法可以使用 Apache Tika(我相信它在内部使用 PDFBox)来解析 PDF 文件?使用它时,我的内容之间似乎有随机空格。我通过直接通过 PDFBox(最新版本)运行 PDF 来隔离问题,该问题具有相同的问题。
一些 OCR 商业软件(如 Omnifind)可以很好地处理 PDF,但我们无法以相同的方式将它们与 Solr 集成,购买也不是一种选择。
solr document-conversion full-text-indexing pdfbox apache-tika
我有一个存储项目(例如 Web 文档)的应用程序。每个项目都可以具有任意大的标签集。典型的常见查询是检索具有给定标签集的所有文档。嗯,一个很常见的 Web 应用程序。
现在我正在考虑将 NoSQL 数据库作为持久存储。各种 NoSQL 系统(例如 MongoDB)支持二级索引和基于关键字的搜索。显示如何在不同系统中执行此操作的示例很容易找到。问题是,我想知道“幕后”发生了什么,即二级索引如何/在哪里存储,以及如何实际执行带有标签列表的查询。特别是在具有许多节点的系统中。
我知道基于 Map/Reduce 或类似的解决方案。但在这里我对索引的工作方式很感兴趣。例如,我的问题是:
我在哪里可以找到不同 NoSQL 系统的此类信息?非常感谢您的任何提示。
基督教
我想要做索引的文件存储在服务器上(我不需要抓取)./ path/to/files /示例HTML文件是
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="product_id" content="11"/>
<meta name="assetid" content="10001"/>
<meta name="title" content="title of the article"/>
<meta name="type" content="0xyzb"/>
<meta name="category" content="article category"/>
<meta name="first" content="details of the article"/>
<h4>title of the article</h4>
<p class="link"><a href="#link">How cite the Article</a></p>
<p class="list">
<span class="listterm">Length: </span>13 to 15 feet<br>
<span class="listterm">Height to Top of Head: </span>up to 18 feet<br>
<span class="listterm">Weight: </span>1,200 to 4,300 pounds<br>
<span class="listterm">Diet: </span>leaves and branches of trees<br>
<span class="listterm">Number of Young: </span>1<br>
<span class="listterm">Home: …
Run Code Online (Sandbox Code Playgroud) 我有一个小型 PostgreSQL 数据库(~~3,000 行)。
我正在尝试在其中一个文本字段(“正文”)上设置全文搜索。
问题是任何查询都非常慢(35 秒以上!!!)。
我想问题出在数据库选择顺序扫描模式的事实......
这是我的查询:
SELECT
ts_rank_cd(to_tsvector('italian', body), query),
ts_headline('italian', body, to_tsquery('torino')),
title,
location,
id_author
FROM
fulltextsearch.documents, to_tsquery('torino') as query
WHERE
(body_tsvector @@ query)
OFFSET
0
Run Code Online (Sandbox Code Playgroud)
这是解释分析:
QUERY PLAN
----------------------------------------------------------------------------------------------------------------------------
Limit (cost=0.00..1129.81 rows=19 width=468) (actual time=74.059..13630.114 rows=863 loops=1)
-> Nested Loop (cost=0.00..1129.81 rows=19 width=468) (actual time=74.056..13629.342 rows=863 loops=1)
Join Filter: (documents.body_tsvector @@ query.query)
-> Function Scan on to_tsquery query (cost=0.00..0.01 rows=1 width=32) (actual time=4.606..4.608 rows=1 loops=1)
-> Seq Scan on documents (cost=0.00..1082.09 rows=3809 width=591) (actual time=0.045..48.072 …
Run Code Online (Sandbox Code Playgroud) 当查询可能出现打印错误时,是否可以使用 postgresql 实现全文搜索?我在手册中找不到它。
MySQL 文档提供了用于创建 FULLTEXT 索引的这种格式:
| {FULLTEXT|SPATIAL} [INDEX|KEY] [index_name] (index_col_name,...) [index_option]
要使用 MySQL 实现全文搜索,您可以通过编写以下内容来创建索引:
CREATE TABLE posts (
id int(4) NOT NULL AUTO_INCREMENT,
title varchar(255) NOT NULL,
content text,
PRIMARY KEY (id),
FULLTEXT (title, content)
) ENGINE=MyISAM;
Run Code Online (Sandbox Code Playgroud)
或者
CREATE TABLE posts (
id int(4) NOT NULL AUTO_INCREMENT,
title varchar(255) NOT NULL,
content text,
PRIMARY KEY (id),
FULLTEXT KEY my_index_name (title, content)
) ENGINE=MyISAM;
Run Code Online (Sandbox Code Playgroud)
使用my_index_name
用户定义的名称而不是字段名称。
我在文档中找不到任何线索:
在尝试在表上添加全文索引时,出现以下错误。
错误代码:1214。使用的表类型不支持 FULLTEXT 索引
在尝试使用 MyTSAM 引擎创建表时,我收到以下警告消息。
0 行受影响,1 条警告:1266 对表使用存储引擎 InnoDB
mysql full-text-search full-text-indexing aurora amazon-aurora
postgresql ×3
mysql ×2
solr ×2
apache-tika ×1
aurora ×1
couchdb ×1
data-import ×1
indexing ×1
mongodb ×1
nosql ×1
pdfbox ×1
solr4 ×1
sql ×1
sql-server ×1