Apache Solr慢搜索

时间:2015-01-24 19:42:22

标签: java apache solr lucene solrj

我正在努力使用solr来进行比我的代码上的当前实现更好的搜索。 当前代码查看一些缓存/哈希映射以检索数据,我想要做的是优化查询响应时间。 所以我已经索引了2个版本的文档(一些简单的文档,其中不包含其中的对象。只有字符串和整数)。一切都很好。

但是现在我正面临另一个问题,而我正在尝试为另一个核心索引更复杂的bean。

我有一个像:

的豆子
Public class Person{
   String name;
   String surname;
   List<Adresse> adress;
   List<Stuff> stuff;
   List<HashMap<String,String>> otherStuff;
}

Solr只通过映射简单列表和地图列表来帮助我,所以我通过将对象转换为字符串列表并将其从字符串转换为对象并将值设置为当前获取对象,将其余成员(列表)映射为mannualy 。 但是这种方法导致我的查询响应时间非常慢。

我也面临另一个问题。当我从索引中收到更多10个文件时,执行时间变得非常缓慢。

你们可以帮助我提供关于如何更快地完成所有这些的建议/想法吗?

1 个答案:

答案 0 :(得分:0)

如果你有一个非常复杂的结构,你可能最好不要试图从Solr取回它。相反,使用 stored = false 进行字段定义,然后返回ID。然后,往返原始来源以获取实际对象。

然后,Solr,因为只是搜索的方式,你可以跳过发送你没有搜索的任何字段。