Sql server 减少搜索时间

Sql server 减少搜索时间,sql-server,performance,solr,Sql Server,Performance,Solr,我是Solr的新手。我已经为一个SQL Server表编制了索引,该表大约有14列,在Solr中有3000万条记录。索引最多需要15分钟。我存储所有字段。因此,我不必返回sql server进行查询。基本上,我使用solr作为数据库并直接在其上搜索。没有唯一的键,但我只为搜索的1列编制了索引此列始终只包含一个单词。 此列上的每次搜索不会产生超过200条记录。在响应标题中,对于每个新的搜索文本,我可以看到QTime有时为1502001350ms。我想把这个降到50毫秒以下 “负责人”:{ “状态”

我是Solr的新手。我已经为一个SQL Server表编制了索引,该表大约有14列,在Solr中有3000万条记录。索引最多需要15分钟。我存储所有字段。因此,我不必返回sql server进行查询。基本上,我使用solr作为数据库并直接在其上搜索。没有唯一的键,但我只为搜索的1列编制了索引此列始终只包含一个单词。

此列上的每次搜索不会产生超过200条记录。在响应标题中,对于每个新的搜索文本,我可以看到QTime有时为1502001350ms。我想把这个降到50毫秒以下

“负责人”:{ “状态”:0, “QTime”:150 },

我可以不分片,只做一些小的配置更改吗? 编辑以添加: 我正在使用Solr5.3.0。我不排序或使用方面等。我的模式XML是:


我已经在邮政编码上建立了索引,目前我只通过Solr管理网站进行搜索,比如:Postcode:WA168GS


谢谢。

solr查询的性能取决于几个因素

  • 启动solr服务器时提供给JVM(堆)的内存量。现在,我们如何使用这些记忆。Solr为您提供三种不同类型的缓存,用于缓存以前的搜索结果。
    • 过滤器缓存:存储Solr为响应添加到查询中的过滤器而构建的过滤器。如果使用过滤器参数(如
      fq=category:appear
      )搜索
      velvet pants
      ,Solr将为该类别构建一个过滤器,并将其添加到缓存中
    • queryResultCache:存储查询返回的文档ID集
    • 文档缓存:此缓存保存Lucene文档对象(每个文档的存储字段)
  • 因此,当您使用
    术语和一些筛选参数进行查询时,solr会在内部进行两次搜索,一次搜索实际术语,另一次搜索您提供的每个筛选条件。然后合并结果。如果缓存中已有任何零件可用,则它将从缓存中直接使用该零件。
    size
    initialSize
    autowarmCount
    参数的配置方式应确保能够快速获得结果。你可以在这里找到更多

  • 您应该在
    autoCommit
    配置中将
    openSearcher
    标记保持为
    false
    。因为每次发生硬提交时,它都会打开一个新的索引搜索器实例。您应该使用
    autoSoftCommit
    配置将新索引加载到searcher中,而不是硬提交

  • 您需要使用这些参数来调整solr以实现快速搜索查询。

    solr查询的性能取决于几个因素

  • 启动solr服务器时提供给JVM(堆)的内存量。现在,我们如何使用这些记忆。Solr为您提供三种不同类型的缓存,用于缓存以前的搜索结果。
    • 过滤器缓存:存储Solr为响应添加到查询中的过滤器而构建的过滤器。如果使用过滤器参数(如
      fq=category:appear
      )搜索
      velvet pants
      ,Solr将为该类别构建一个过滤器,并将其添加到缓存中
    • queryResultCache:存储查询返回的文档ID集
    • 文档缓存:此缓存保存Lucene文档对象(每个文档的存储字段)
  • 因此,当您使用
    术语和一些筛选参数进行查询时,solr会在内部进行两次搜索,一次搜索实际术语,另一次搜索您提供的每个筛选条件。然后合并结果。如果缓存中已有任何零件可用,则它将从缓存中直接使用该零件。
    size
    initialSize
    autowarmCount
    参数的配置方式应确保能够快速获得结果。你可以在这里找到更多

  • 您应该在
    autoCommit
    配置中将
    openSearcher
    标记保持为
    false
    。因为每次发生硬提交时,它都会打开一个新的索引搜索器实例。您应该使用
    autoSoftCommit
    配置将新索引加载到searcher中,而不是硬提交

  • 您需要使用这些参数来调整solr以实现快速搜索查询。

    信息太少。你的schema.xml怎么样?你的solrconfig.xml怎么样?您使用的是哪个版本的Solr?你到底是怎么问的?查询时是否进行排序?您在提交查询时是否使用了其他功能(facets,更像这样,等等)?您是否检查了有关该主题的文档?或者快速查询是什么样子,慢速查询是什么样子?你的问题可能与解决问题的方法有关。Hey@Mihir请编辑你的帖子,并在你的问题正文中写入类似schema.xml部分的信息。这是一种更容易、更愉快的阅读方式:)信息太少。你的schema.xml怎么样?你的solrconfig.xml怎么样?您使用的是哪个版本的Solr?你到底是怎么问的?查询时是否进行排序?您在提交查询时是否使用了其他功能(facets,更像这样,等等)?您是否检查了有关该主题的文档?或者快速查询是什么样子,慢速查询是什么样子?你的问题可能与解决问题的方法有关。Hey@Mihir请编辑你的帖子,并在你的问题正文中写入类似schema.xml部分的信息。这是更容易和更愉快的阅读:)谢谢大家!!!在Solr有很多事情要做,还有很长的路要走。会让你们不断更新。谢谢大家!!!在Solr有很多事情要做,还有很长的路要走。会让你不断更新。