2

我将类别存储在应该在文档本身中加权的文档中,例如餐厅 - 0.5 (= 50%)、酒吧 - 0.25、音乐 - 0.25。不幸的是,我是 solr 的新手,并不真正知道它可能属于 solr 中的哪个功能。

文件如下所示:

    <str name="id">C1</str>
    <str name="name">Wine</str>
    <str name="type">Compass</str>
    <str name="geo">51.049842,13.740707</str>
    <double name="radius">5.0</double>
    <arr name="cat">
      <str>Restaurant</str>
      <str>Restaurant</str>
      <str>Bar</str>
      <str>Music</str>
    </arr>

如何查询预期重量?除了存储类似条目还有其他方法吗?

4

1 回答 1

1

您可以使用 Solr/Lucene 的有效负载功能来实现这一点。有效负载入门将为您提供总体思路。您的带有有效负载的文档将如下所示:

<str name="id">C1</str>
<str name="name">Wine</str>
<str name="type">Compass</str>
<str name="geo">51.049842,13.740707</str>
<double name="radius">5.0</double>
<arr name="cat">
  <str>Restaurant|50</str>
  <str>Bar|25</str>
  <str>Music|25</str>
</arr>

为文档编制索引后,您可以为您的文档创建一个自定义分数,该分数可以仅基于有效负载或与 lucene 默认跨度分数的组合。

您可以在lucene-solr/tests中找到更多使用负载查询的示例。

于 2013-08-28T08:32:07.953 回答