0

我对 Solr 很陌生,我想用它在我正在构建的问答网站(Quora 之类)上进行搜索。

以下是问题和回答者的方式:问题 - 标题 - 描述 - 标签(社交标签) - 分数(分数来自用户对问题的赞成/反对票)

答案 - 描述 - 标签 - 分数(分数来自用户对答案的赞成/反对票)

当然,您可以根据需要对问题有尽可能多的答案。

将有三种类型的文档需要被索引:问题、文章、...

就索引而言,使问题和答案可搜索的最佳策略是什么?

4

1 回答 1

0

如果您使用的是DataImportHandler,您可以<entity>为问题设置一个子实体,然后为答案指定一个子实体。例如:

<document name="questions">
  <entity name="question" query="select id, question from questions">
    <field column="id" name="id" />
    <field column="question" name="question" />

    <entity name="answer" 
        query="select question_id, answer from answers"
        cacheKey="question_id"
        cacheLookup="question.id" 
        processor="CachedSqlEntityProcessor">
      <field name="answer" column="answer" />
    </entity>

  </entity>
</document>

请注意,此示例使用CachedSqlEntityProcessor来避免不必要地访问数据库。

于 2012-04-25T20:34:59.237 回答