【问题标题】:SOLR schema design and searchingSOLR 模式设计和搜索
【发布时间】:2012-02-29 18:20:04
【问题描述】:

您好,我有以下表格结构,我需要在其中进行简单的用户搜索, 谁能给我建议我必须如何为此设计 solr 架构并进行查询

 userid    -  name

  1       -   pot tot
  2       -   peter kate
  3       -   jack henry     
  4       -   jack cope

 id  -  userid   -  friendsid  (foreignkey table)

  1  -   1       -   jack henry 
  2  -   1       -   peter kate
  3  -   3       -   pot tot 
  4  -   2       -   pot tot

当用户 1 - (pot tot) 搜索“jack”时,他必须将“jack henry”作为第一个结果,因为他是共同的朋友。我们有像facebook这样的要求,比如朋友的用户搜索顺序,共同的朋友(计数)

【问题讨论】:

    标签: solr


    【解决方案1】:

    您主要想处理关系和搜索。
    不确定 Solr 是否能够让您开箱即用的关系部分。

    您能否尝试检查Neo4j,它是图形数据库,可以帮助您遍历关系和搜索。

    【讨论】:

      【解决方案2】:

      我对 Neo4j 一无所知,但我认为上面的海报有一定的道理。我不确定这就是 Solr 的设计目的。不过,您可以尝试一下:

      <field name="user_id" type="slong" indexed="true" stored="true" required="true" />
      <field name="user_name" type="text" indexed="true" stored="true" required="true" />
      <field name="friend_id" type="slong" indexed="true" stored="true" required="false" multiValued="true" />
      

      这允许每个用户在 Solr 索引中拥有 0 到多个朋友。如果您有一个名为“Jack Henry”且 user_id 为 3 的用户,那么查找 Jack Henry 的朋友就像“?q=friend_id:3”一样简单。如果您有另一个名为“Peter Kate”且 user_id 为 2 的用户,则可以通过以下方式查找 Jack Henry 和 Peter Kate 的共同朋友:“?q=friend_id:(2 AND 3)”。希望这会有所帮助。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-03-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-07-03
        • 2015-06-05
        • 1970-01-01
        相关资源
        最近更新 更多