我们的使用案例如下如何在多个标准中搜索塔兰特空间
我们将从源文件中获取文章。
每篇文章都有一定的元数据。元数据有一个字段类别,它是文章可能涉及的类别名称(手机,笔记本电脑等)的列表。类似地,元数据有一个关键字字段,其中包含关键字列表,文章可能会掉进。
下面是查询的,我们可能需要
一)获取的所有文章对于给定的类别和来自某个源,location.Source和位置是文章的元数据字段。
b)获取给定类别,来源,位置的所有文章。 c)获取给定类别,位置的所有文章。
d)获取给定关键字,类别,位置的所有文章。
下面是我们如何在越来越每篇文章设计spaces.So,我们插入文章分为文章空间,并在此基础上类别和本文属于关键字也会插入category_articles和keyword_articles空间。
下面是关于如何有效地为给定查询模式创建二级索引的几个查询。
a)对于辅助键{类别,来源,位置},如果我们错过了输入值中的某些部分,那么如果其他部分的键相同,那么这些行是否匹配? https://tarantool.org/doc/singlehtml.html#lua-data.index_object.parts
我知道我们不能在输入中指定第一和第三部分,即密钥的{'category','location'}?或者打哆嗦,我们没有第二的位置。
b)我们能否以更好的方式对模式进行建模,以便高效地查询给定的模式。
文章
urlhash
标题
内容
网址
日期
主键:{} urlhash
-
category_articles
ID
类别
源
位置
{urlhash,..}
主键:{ID}
二级密钥:{类别,来源,所在地}
-
keyword_articles
ID
关键字
类别
源
位置
{urlhash,..}
主键:{ID}
二级密钥:{关键字,类别,来源,所在地}
更新:
查询:
box.space.category_articles.index.secondary_key:选择{ 'bollywoord',零, '印度'}
输出继电器:
[1, 'bollywoord', 'HT', '印度',[ 'URL1', 'URL2']]
[3,“bollywoord ','ht','我们',['url3','url4']]
Thanks.This看起来比一些hackish解决方案更好。 – crackerplace