问题标签 [trigram]
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.
postgresql - 如何使用日期列创建 pg_trgm 复合索引
这里 col1 是数据类型varchar
,日期是timestamp with time zone
数据类型。所以创建了扩展CREATE EXTENSION pg_trgm
然后尝试了以下索引并得到了错误:
1:问题:错误:操作员类“gin_trgm_ops”不接受带时区的数据类型时间戳
2:问题:错误:访问方法“gin”不存在操作员类“text_pattern_ops”
如何为上述查询创建索引以加快执行速度?任何帮助将不胜感激!
编辑:所以这在语法上有效,但不会加快查询速度:
python - 来自 ManyToManyField 的 Django 最大相似度(TrigramSimilarity)
我必须实现一个容错的搜索功能。
目前,我有以下情况:
楷模:
询问:
示例数据:
插图:
插图有标签:
标签:
当我使用 运行查询时"Animal"
, for 的相似性"Dog"
应该高于 for "Cat"
,因为它是完美匹配的。
不幸的是,这两个标签以某种方式被考虑在一起。
目前,它看起来像是将标签连接在一个字符串中,然后检查相似性:
但我想调整它,使Illustration
实例名称与其标签之间的相似度最高:
Edit1:我正在尝试查询所有插图,其中标题或其中一个标签的相似度大于 X。
编辑2:附加示例:
全文 = '动物'
TrigramSimilarity('Animal Brown', fulltext) => x TrigramSimilarity('Animals', fulltext) => y
其中 x < y
但我想要的其实是
TrigramSimilarity(Max(['Animal', 'Brown]), fulltext) => x (Similarity to Animal) TrigramSimilarity('Animals', fulltext) => y
其中 x > y
django - Django Trigram:在 Django 中创建 gin 索引并搜索建议的单词
我有带有标题和描述字段的模型。
我想为标题和描述字段中的所有单词创建一个 GIN 索引
因此,我使用 SQL 以下列方式执行此操作:
STEP1:使用简单的配置创建一个包含标题和描述中所有单词的表
STEP2:创建 GIN 索引
第三步:搜索
如何在 DJANGO 中执行此操作,而且我必须不断更新 GIN 索引
postgresql - trigram 和 ILIKE 同时
我有 GIN 索引列,使用gin_trgm_ops
.
我正在mad
使用相似性搜索该术语:
我得到:
但它遗漏了一些词,例如srimad
.
我想选择前 5 个 where ILIKE '%mad%'
or'mad%'
然后也是前五个 trigrams 并组合结果。
实施解决方案后:
我的 SQL 查询和解释:
还有关于 UNION 的问题:
第一个查询项目:
第二个查询项:
我想要结果为:
但我按以下顺序排列:
postgresql - 带有 unaccent 和 pg_trgm 的多列索引(匹配脏数据)
我有一个包含客户数据的表,它有 1200 万多条记录。我想根据几个字段来查询它,例如:first_name、last_name、birth_place。但是数据真的很脏,所以我想要甚至不完全匹配的记录。我为此使用了 unaccent 和 pg_trgm 模块。
我按照这个问题能够在索引中使用 unaccent,因此f_unaccent()
而不是unaccent()
在查询中。
指数:
选择:
当我对其运行分析时,它会进行顺序扫描。它不使用索引。我知道第一个选择在整个桌子上运行,所以也许很好。我使用的是<->
,而不是similarity(text, text)
函数,因为我什至想要一些字段相似度为 0 的记录,相似度之和是我关心的。
在真实数据上,这个查询(有 6 个字段,而不是 3 个)大约需要 12 分钟(没有索引,我没有创建它们,因为我在测试数据上看到它们甚至没有被使用......)
我怎样才能使这个查询运行得更快?谢谢
postgresql - postgresql : 读取 GIN 索引内容
我想阅读应该使用我的 GIN 索引创建的三元组列表,但我似乎无法在任何地方找到该命令:我尝试了\di+
,\dv+
或\dm+
每个没有+
. 没有任何回报。
我是否误解了什么或我的索引是空的?它显示 16ko 尺寸,但据我所知,它可能是空的标准尺寸。
c++ - 如何在 C++ 中创建一系列三元组,其中每个后续三元组从第一个字母的第二个字母开始?
我已经为此工作了一段时间,但我一直无法解决这个问题。本质上,如果要给用户一个“.txt”文件,其中写入了以下内容"tHe@doG#wENt&uP$tHE!hiLL!"
,则最终结果需要如下所示:
我可以继续,但我确信这是不言自明的。我一直用来尝试完成此操作的代码如下所示。
}
这与三元组的频率分析(我稍后将使用的向量)有关,我觉得有一种方法可以减少我拥有的条件句的数量,我只是不知道如何。任何帮助将不胜感激!
postgresql - 全文搜索中的模糊搜索
我正在使用 postgresql 进行全文搜索,我发现如果有拼写错误,用户将不会收到结果。我想同时使用模糊搜索和全文搜索。例如,我无法结合三元组索引和全文搜索。
在 Postgres 全文搜索中处理拼写错误的单词的最佳方法是什么?
postgresql - 将查询的部分内容与 trigram 索引匹配
我有一个表格,events
其中每个事件都有一个title
和description
。搜索应搜索两列:
标题:Dick(ens) 和 Jane
描述:每周见面讨论经典书籍!
鉴于上述情况,我想要一个book club
匹配的查询。
我的索引:
我的查询:
我认为问题在于我从根本上误解了索引的工作原理,因此它试图将整个字符串book club
与各种三字母组合匹配,但我不确定如何解决这个问题。
r - 在三元组列表中查找动词(部分匹配?)
我知道有很多关于部分匹配的问题,我已经阅读了尽可能多的内容,但我仍然没有设法使用 R 提取我需要的内容。
简而言之,我的问题是我有一个包含超过一百万行西班牙三元组的数据集,我只想找到那些有动词的数据集。为了使这更容易,我在西班牙语中添加了 500 个最常见的动词,以便尝试将它们与三元组相匹配。
我有一个这样的数据集:
第三列(“动词”)中的动词是不定式,我想将它们与第一列(“三元组”)中的动词部分匹配。我认为在这种情况下,能够使用 for 循环来遍历 500 个我想要部分匹配的超过一百万个三元组的动词是理想的。
所以在这种情况下:“gustar”应该部分匹配“no me gusta”,任何东西都不应该匹配像“el caso que”这样的无动词三元组。
我真的希望这是有道理的,我以前从未使用过这些数据量,而且我对正则表达式太陌生,无法自己真正解决这个问题。