我试图找出实现用户搜索的最佳方式,用户按照他们的社交距离排序"来自你 - 所以第一个2度朋友(朋友的朋友)跟随3度朋友(朋友的朋友)
我在网上找到了一些资源:
1)LinkedIn:Cleo是他们的旧版头型引擎 - 他们使用好友列表/邻接列表作为倒排索引。 LinkedIn还有一个名为Galene的新搜索架构,它建立在Lucene之上,但是他们没有提到他们如何实施社交搜索
2)odnoklassniki.ru:They mention around 5:00打字头搜索首先在"个人" lucene index - 我认为它基本上是一个仅限于用户邻接列表的索引。
我的问题是:
1)你如何整合这样一个"个性化的"按用户划分到Lucene的邻接列表?是否有可能告诉Lucene - "将此朋友列表用作搜索的倒排索引"?
2)如果您需要更复杂(多面)的搜索,您可能希望将社交数据嵌入到模式中(而不是使用个性化索引) - 如何进行搜索?我想有一种方法可以使用父/子关系 - 但这只适用于2度朋友,而不是3号。
P.S 另一种方法是使用图形数据库,但我还没有看到有关使用它进行搜索的大公司的任何信息。