我正在使用Alfresco 4.1.6和SOLR 1.4。
对于搜索,我使用fts_alfresco_language和searchService.query方法。
在我的查询中,我搜索PATH,TYPE和一些自定义属性,如方向,电话,邮件或类似信息。
我现在有超过2百万个文档,我们可以看到搜索的性能比开始时更差。
我在solr的1.4版本中读到,在查询中使用PATH是一个坏主意。最好避免它,只使用TYPE和属性键和值。
但我有2个问题......
为什么PATH会增加响应时间?这不是一个帮助?我在存储库的根目录中有超过1000个主文件夹。如果我指定solr可能搜索的文件夹,为什么这不会过滤结果并给我一个最差的时间响应,而不是我没有指定这个?或者有另一种说法来解决主文件夹以减少结果,然后执行其余查询?
当我通过自定义属性找到时,我使用3或4个属性(都已编入索引)进行搜索。这些合并的查找比一个更高的开销?也许最好只搜索一个属性,而不是3个?或者也许使用OR而不是AND来快速结果? SOLR如何运作?
谢谢!
答案 0 :(得分:0)
首先让我从这开始,我不确定你对这个问题的看法是什么,因为它含糊不清。你不是在问如何让你的查询更好,你问为什么一个糟糕的练习(糟糕的表现)对你有害。
做一些关于如何构建ECM系统的研究,首先是什么使你的ECM有用是一个合适的内容模型。有书可以帮助你。
如果您使用文件夹(路径)构建内容,这些对您来说非常重要,那么您需要将这些内容添加为内容。如果你还没有这样做,那么你应该从那开始。
良好的内容模型将能够在ECM系统中的任何位置找到内容。 当然,将文件系统迁移到ECM系统很容易,只需将其保留在那里,但您只完成了一半的工作。
路径查询通常很慢,因为它使用循环模式并且价格昂贵。它在新的SOLR中有了很大的改进,但它仍然没有普通元数据查询那么快。