我将处理10,000-50,000条记录的批次,每条记录大约有200-400个字符。我预计我可以拥有的搜索条件数量不会超过1500(都与本地企业有关)。
我想创建一个函数,将结构化标签与标记数据的术语列表进行比较。
这些条款基于业务说明。因此,例如,[Jazz Bar]
,[Nightclub]
,[Sports Bar]
或[Wine Bar]
都将对应[Bar]
的查询。
通常这个数据有某种现有的标签,所以我也可以为第一遍创建一个严格的层次结构,然后如果没有明确的现有标签则再做一次。
实现此功能最敏感的方法是什么?我可以有一个包含所有关键字的表格,并尝试将它们与每个数据相匹配。这在我匹配现有标签的情况下很简单,在处理自由文本时不太直接。
我正在使用Heroku / Postgresql
答案 0 :(得分:0)
使用Sphinx搜索引擎和ThinkingSphinx Ruby gem是一个非常安全的选择。是的,有一些配置开销,但我还没有找到Sphinx让我失望的场景。 : - )
如果您有30-60分钟的修补时间,请尝试一下。我一直在使用Sphinx在数据库表中搜索600,000条带有复杂查询的记录(3个单独的搜索标准+ 2个单独的字段分组/排序),我得到的结果是0.625秒,这一点都不错,我肯定比使用纯Ruby代码完成任何事情要好得多。