小编gba*_*lot的帖子

Redis全文搜索:反向索引还是太阳黑子?

我有3.5百万条记录(readonly)实际存储在一个MySQL数据库中,出于性能原因我想将其提取给Redis.实际上,我已经设法将这样的东西存储到Redis中:

1 {"type":"Country","slug":"albania","name_fr":"Albanie","name_en":"Albania"}
2 {"type":"Country","slug":"armenia","name_fr":"Arménie","name_en":"Armenia"}
...
Run Code Online (Sandbox Code Playgroud)

我在这里使用的密钥是遗留的MySQL id,所以使用一些Ruby胶水,我可以在这个现有应用程序中尽可能少地破解(这是一个严重的问题).

现在问题是当我需要在值部分内搜索关键字"Armenia"时.似乎只有两种方法:

要么我繁殖Redis索引:

要么我使用太阳黑子或一些全文搜索引擎(不幸的是,我实际上使用的ThinkingSphinx太多与MySQL绑定:-(

那么,你会做什么?你认为MySQL to Redis移动单个表是一个好主意吗?我担心这些巨大的Redis密钥/值可能占用16GB RAM服务器的内存占用.

有关类似Redis用法的任何反馈?

sunspot redis

7
推荐指数
1
解决办法
9640
查看次数

使用 Vim 链接 vimgrep 和 copen

当我必须在某些目录中递归搜索模式时,我会这样做:

:vimgrep 'some-pattern' app/views/**
Run Code Online (Sandbox Code Playgroud)

然后,我必须输入:

:copen 20
Run Code Online (Sandbox Code Playgroud)

这样我终于可以在 quikfix 窗口中看到包含“some-pattern”的文件列表了 20 行。

它完全满足我的需求,但是有什么方法可以链接这两个命令,因此每次我请求 vimgrep 时,如果我输入“:copen 20”,它都会将结果“通过管道”发送到快速修复窗口吗?

尽可能地,我更愿意坚持标准的东西(任何基于 .vimrc 的方法?),并避免使用插件在文件中查找。

我一周前才转向 Vim,谢谢你的帮助。

vim

2
推荐指数
1
解决办法
1928
查看次数

标签 统计

redis ×1

sunspot ×1

vim ×1