我将在每条记录中处理10,000-50,000条记录,其中包含大约200-400个字符的批处理。我预计我可能拥有的搜索字词数量不会超过1500个(全部与当地企业有关)。使用Ruby解析具有数百个标签的结构化和半结构化文本
我想创建一个函数,将结构化标记与术语列表进行比较以标记数据。
这些条款是基于业务描述。因此,例如,[Jazz Bar]
,[Nightclub]
,[Sports Bar]
或[Wine Bar]
都将对应[Bar]
的查询。
通常这个数据有一些现有的标签,所以我也可以为第一遍创建一个严格的层次结构,然后在没有明确的现有标签的情况下再做一次。
什么是最具性能敏感的方式来实现这个?我可以有一张包含所有关键字的表格,并尝试将它们与每一条数据进行匹配。在我与现有标签相匹配的情况下,这很简单,在处理自由文本时不太直截了当。
我使用的Heroku/PostgreSQL的
你想要查询/工作发生在哪里?在PostgreSQL或你的Ruby代码?这是一项一次性工作,还是一项常规工作?而且,当你识别标签时你想做什么?算命中?用其他东西替换它们? –
这是每天/每周的作业缓存某些数据和元数据。我们有一个基于标签的查询机制,因此我们会为我们缓存的记录添加一个标签,并保持标签项目的总数。有8个顶级标签,每个标签有2-8个叶子标签。谢谢! – SFRubyNewby
不知道这是否适合您的情况,但看看Redis和Elasticsearch。 –