2

我有一个 Solr 索引,其中包含大约 250 万个项目,我正在尝试使用 ExternalFileField 来提高相关性。不幸的是,当我尝试这样做时它非常慢,尽管它是一台强大的机器并且 Solr 有大量可用内存。

在外部文件中,我的内容如下:

747501=3.8294805903e-07
747500=3.8294805903e-07
1718770=4.03292174724e-07
1534562=3.8294805903e-07
1956010=3.8294805903e-07
747509=3.8294805903e-07
747508=3.8294805903e-07
1718772=3.8294805903e-07
1391385=3.8294805903e-07
2089652=3.8294805903e-07
1948271=3.8294805903e-07
108368=3.84404072186e-06

每行是一个文档 ID,它是相应的提升因子。

在我的查询中,我使用的是 edismax,并且我使用的是 boost 参数,将其设置为 pagerank。整个查询在这里

在我的架构中,我有:

<!-- External File Field Type-->
<fieldType name="pagerank"
           keyField="id"
           stored="false"
           indexed="true"
           omitNorms="false"
           class="solr.ExternalFileField"
           valType="float"/>

   <field name="pagerank"
          type="pagerank"
          indexed="true"
          stored="true"
          omitNorms="false"/>

但性能只是,很糟糕。我错过了一个设置还是什么?

4

1 回答 1

1

根据javadoc

外部文件可以按关键字段排序或未排序,但如果未排序,它将显着变慢(未经测试)。

正如我所看到的,您文件中的 id 未排序。你能对它进行排序并测试它是否有帮助吗?

于 2015-04-07T07:58:37.310 回答