问题标签 [fulltext-index]
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 - 全文索引搜索有大量页面读取
我在包含如下数据的表中的列上有一个全文索引:
该列是 Zip、姓氏、名字、城市、州、电子邮件和电话号码的聚合。
我使用此列根据任何可能的信息搜索客户。
我担心的问题是在对该列进行查询时发生大量读取。我正在使用的查询是:
现在,当运行 Profiler 时,我可以看到该搜索有大约 50.000 次页面读取以返回单行,而不是使用使用常规索引和多个变量的不同方法时,分解为@firstName
, @LastName
,如下所示:
使用这种方法,我只能读取大约 140 页。我知道这些方法完全不同,但我试图理解为什么全文版本的阅读量如此之多,以及是否有任何方法可以将其降低到更接近使用常规索引时获得的数字。
mysql - FULLTEXT 索引需要更长的时间来执行
以下查询需要 1.1s 执行,EXPLAIN
显示了FULLTEXT
索引的使用:
列上有FULLTEXT
索引sIndex07
。但是,当此FULLTEXT
索引被删除并替换为常用KEY
索引时,查询:
只需 0.6 秒即可完成。我在其他问题中看到该MATCH
子句需要嵌套,但我不确定如何将它嵌套在COUNT
语句中。此外,在删除meta_oid
子句时,使用FULLTEXT
索引运行的查询比第二个查询快 50%,所以虽然它似乎FULLTEXT
是一个好处,但在将它与查询的其余部分结合使用时我正在苦苦挣扎。meta_oid
已编入索引,数据库sIndex07
大小varchar(1024)
为 4.5Gb。
编辑:搜索速度较慢的
原因FULLTEXT
是搜索词中有一个连字符,因此在我的特定情况下返回的数据集比运算符大得多LIKE
。没有连字符的搜索确实使用FULLTEXT
并执行大约一百倍于LIKE
我将在不到 24 小时内将赏金奖励给可以使用连字符进行搜索而无需重新编译 mysql 二进制文件的人,从而提高FULLTEXT
速度,这是问题的最初目的。
full-text-search - Microsoft Azure SQL 数据库 v12 中与全文索引相关的错误 SQL71578 是什么?
当我尝试在 Visual Studio 中编译针对 Microsoft Azure SQL 数据库 v12 的数据库项目时,使用以下命令
,我收到此错误:
错误:SQL71578:{table} 上的元素全文索引的属性 IsPartOfStatisticalSemanticAnalysis 设置为 Microsoft Azure SQL 数据库 v12 不支持的值
解决方案是什么?
cjk - 如何在 mysql 5.7 中使用 ngram 解析器对中英文字符进行全文索引?
我有一个名为“comp”的表,其中有一列“compName”,compName 包含不同国家/地区的字符,我正在使用带有 ngram 解析器的 mysql5.7,现在可以搜索中文单词,但它给我带来了不好的结果当我搜索英文单词时。根据 INFORMATION_SCHEMA.INNODB_FT_INDEX_CACHE 表,我发现它是按字符分词的英文单词,例如:abc 将分词为 ab,bc,但据我们了解,英文将分词为“SPACE”,对吧?那么在mysql5.7中使用ngram parser时如何解决这种情况。
mysql - 全文列mysql在单词'clients'中找不到'client'
我有一个包含单词 clients 的 varchar 列。它是带有客户数据的全文。通过 word 客户端搜索时,我无法找到该行。由于记录数量,我希望避免 LIKE 。LIKE是唯一的出路吗?我读到 WITH QUERY EXPANSION 可能会有所帮助,但我正在使用的共享 mysql 服务器无法识别它。
有小费吗?
mongodb - Mongo $文本查询:在其他人之前返回文档“以”字符串开头
假设我有一个 mongo 集合,其中text index
包含itemName
以下 3 个文档:
然后我执行如下查询:
我如何强制 mongo返回以“Car”开头的文档(不区分大小写)itemName
在返回字符串中某处也包含“Car”的任何其他文档
所以我想按以下顺序检索文档:
当然,这意味着在搜索功能中使用,因此向用户显示项目是完全有意义的在显示之后的任何其他项目之前向用户显示以他的搜索字符串开头的项目是完全有意义的。
直到现在我都在使用标准的正则表达式,但这里的性能当然要差得多!+ 因为我必须搜索不区分大小写,根据文档,正常的正则表达式根本不使用任何索引?!
编辑:
此外,有时 的行为$text
非常奇怪。例如,我有大约 10-15 项itemName
以“Zwiebel”开头的项目。这个查询
像魅力一样工作并返回所有这些文档,而这个查询
不返回任何东西!只需将$search
.
我真的不明白这怎么可能?!
最好的,P
elasticsearch - ElasticSearch 中的名称搜索
我在 ElasticSearch 中创建了一个索引,其中存储了一个人的全名:姓名和姓氏。我想对该字段执行全文搜索,因此我使用分析器对其进行了索引。
我现在的问题是,如果我搜索:“John Rham Rham”
在我有“John Rham Rham Luck”的索引中,该值的得分高于“John Rham Rham”。与字符串中具有更多值的字段相比,是否有可能在确切字段上获得更好的分数?
提前致谢!
sql-server - 使用 OR 时优化 SQL CONTAINS
在 SQL Server 2014 中,我尝试使用contains
几个不同的术语。该查询花费了非常长的时间,我很好奇分隔包含命令或在同一语句中使用它们是否更快。
例如,使用它是否更快:
或者
使用一个与另一个会有所不同,还是我可能在这里遗漏了一些更基本的东西?
更新:
我最终运行了第一个,它在 50 分钟后出错(可能是单独的服务器连接问题)。我运行了第二个选项,查询在 19 分钟内完成。如果有人对为什么一个人的表现可能比另一个人有更好的答案,我仍然会感兴趣。谢谢。
c# - 在大文本c#/sql中查找每个相似词的频率
我需要将单词分组为相似,然后找到频率。
所以喜欢的文字"moron and morons sat on moronic bench with mormons"
会产生结果
我需要能够在一个查询中推送文本或确切单词列表,并频繁接收通用单词。
从 C# 开始,可以使用 SQL Server。