标签: full-text-indexing

为子字符串搜索构建索引?

我想在数十亿字符串中进行一般子字符串搜索.该要求与一般全文搜索略有不同,因为我想查询"ubst"也可以点击"substr".

Lucene或Sphinx能做到这一点吗?如果没有,你认为最好的方法是什么?

full-text-indexing

6
推荐指数
2
解决办法
1711
查看次数

Postgresql ILIKE与TSEARCH

我有一个包含许多测试字段的查询,如下所示:

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吗?

postgresql full-text-search full-text-indexing

6
推荐指数
2
解决办法
4789
查看次数

可以使用全文索引来查找最接近的匹配字符串吗?统计语义在全文索引中的作用

我正在寻找SQL Server 2016全文索引,它们很棒,可以搜索查找包含字符串的多个单词

当我尝试撰写全文索引时,它显示Statistical Semantics为复选框.统计语义有什么作用?

而且,我想找到你的意思是查询

例如,假设我有一个记录house.用户类型hause

我可以使用全文索引hause作为最接近的匹配返回并显示用户你的意思是房子有效吗?谢谢

我尝试过soundex,但它产生的结果非常糟糕

它返回了许多无关的词

由于我的数据库中有如此多的记录,我需要非常快的结果,我需要SQL服务器本身支持的东西

有任何想法吗?使用索引实现这种事情的任何方法?

我知道有多种算法,但它们对我来说在线使用效率不高.我的意思是计算每个记录之间的编辑距离.它们可以用于离线项目,但我需要在一个在线词典中提高效率,这里会不断有数千个请求.

我已经有了一个计划.在数据库中存储未找到的结果并离线计算最接近的匹配.并将它们用作缓存.但是,我想知道任何可能存在的在线/实时解决方案?考虑将有超过100m的nvarchar记录

sql sql-server full-text-search full-text-indexing statistical-semantics

6
推荐指数
1
解决办法
712
查看次数

替代 Tika/PDFBox 用于在 Solr 中解析 PDF(1.4 之后的任何版本)

似乎 Solr 没有正确解析我的 PDF 文件。我想知道是否还有其他替代方法可以使用 Apache Tika(我相信它在内部使用 PDFBox)来解析 PDF 文件?使用它时,我的内容之间似乎有随机空格。我通过直接通过 PDFBox(最新版本)运行 PDF 来隔离问题,该问题具有相同的问题。

一些 OCR 商业软件(如 Omnifind)可以很好地处理 PDF,但我们无法以相同的方式将它们与 Solr 集成,购买也不是一种选择。

solr document-conversion full-text-indexing pdfbox apache-tika

5
推荐指数
1
解决办法
5265
查看次数

NoSQL:索引和基于关键字的搜索

我有一个存储项目(例如 Web 文档)的应用程序。每个项目都可以具有任意大的标签集。典型的常见查询是检索具有给定标签集的所有文档。嗯,一个很常见的 Web 应用程序。

现在我正在考虑将 NoSQL 数据库作为持久存储。各种 NoSQL 系统(例如 MongoDB)支持二级索引和基于关键字的搜索。显示如何在不同系统中执行此操作的示例很容易找到。问题是,我想知道“幕后”发生了什么,即二级索引如何/在哪里存储,以及如何实际执行带有标签列表的查询。特别是在具有许多节点的系统中。

我知道基于 Map/Reduce 或类似的解决方案。但在这里我对索引的工作方式很感兴趣。例如,我的问题是:

  • 二级索引是否只存储项目/对象 id 或更多?
  • 如果查询包含 k 个标签,是否会执行 k 个子查询(每个标签一个)并且将 k 个部分结果合并为发起节点之一?

我在哪里可以找到不同 NoSQL 系统的此类信息?非常感谢您的任何提示。

基督教

indexing couchdb full-text-indexing mongodb nosql

5
推荐指数
1
解决办法
1764
查看次数

如何在SOLR中编制.html文件索引

我想要做索引的文件存储在服务器上(我不需要抓取)./ 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)

solr data-import full-text-indexing dataimporthandler solr4

5
推荐指数
2
解决办法
9952
查看次数

PostgreSQL 全文搜索:为什么搜索这么慢?

我有一个小型 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 full-text-search full-text-indexing

5
推荐指数
1
解决办法
3829
查看次数

PostgreSQL的。全文搜索有误印的查询

当查询可能出现打印错误时,是否可以使用 postgresql 实现全文搜索?我在手册中找不到它。

postgresql full-text-search full-text-indexing

5
推荐指数
1
解决办法
1518
查看次数

FULLTEXT 和 FULLTEXT KEY/INDEX 有什么区别?

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用户定义的名称而不是字段名称。

  • 它们之间有什么区别?
  • 对系统本身和开发人员有什么影响吗?

我在文档中找不到任何线索:

mysql full-text-indexing

5
推荐指数
1
解决办法
1469
查看次数

如何在 MySQL AWS Aurora DB InnoDB 引擎中创建全文搜索索引

在尝试在表上添加全文索引时,出现以下错误。

错误代码:1214。使用的表类型不支持 FULLTEXT 索引

在尝试使用 MyTSAM 引擎创建表时,我收到以下警告消息。

0 行受影响,1 条警告:1266 对表使用存储引擎 InnoDB

mysql full-text-search full-text-indexing aurora amazon-aurora

5
推荐指数
2
解决办法
2428
查看次数