如何大幅优化solr的查询性能
1个回答
展开全部
提升软件性能,通常喜欢去调整各种启动参数,这没有多大意义,小伎俩。 性能优化要从架构和策略入手,才有可能得到较大的收益
Solr的查询是基于Field的,以Field为基本单元,例如一个文章站要索引
classArticle
{
String title;
String content;
String tags;
}
查询参数: q=title:big && content:six
Solr会顺序执行两次 field查询 ,这个开销非常大。 实际例子 :50万条记录,一次在6,7个字段上检索,24 core的服务器也需要10-20ms
如果把title和content 合并,那只需要查询一次,性能可以提升50%
在生成索引xml的时候,把title和content填入同一个字段,就能达到这种效果,但是产生新的问问题
无法对title和content的查询分别指定权重了,一般来说,title的权重要高于content
Solr给出一种解决方法:在schema中使用 copyField
上述的Article Schema可以写成如下这种格式,就能达到效果
<fieldname="title"type="text_general"indexed="true"stored="true"/>
<fieldname="content"type="text_general"indexed="true"stored="true"/>
<fieldname="tags"type="text_general"indexed="true"stored="true"/>
<fieldname="text"type="text_general"indexed="true"stored="false"multiValued="true"/>
<copyFieldsource="title"dest="text"/>
<copyFieldsource="content"dest="text"/>
<copyFieldsource="tags"dest="text"/>
这种schema定义方式,既可以对单个field指定查询权重,也可以在泛查询的时候提升性能,同时生成索引数据的时候不需要多写任何代码
Solr的查询是基于Field的,以Field为基本单元,例如一个文章站要索引
classArticle
{
String title;
String content;
String tags;
}
查询参数: q=title:big && content:six
Solr会顺序执行两次 field查询 ,这个开销非常大。 实际例子 :50万条记录,一次在6,7个字段上检索,24 core的服务器也需要10-20ms
如果把title和content 合并,那只需要查询一次,性能可以提升50%
在生成索引xml的时候,把title和content填入同一个字段,就能达到这种效果,但是产生新的问问题
无法对title和content的查询分别指定权重了,一般来说,title的权重要高于content
Solr给出一种解决方法:在schema中使用 copyField
上述的Article Schema可以写成如下这种格式,就能达到效果
<fieldname="title"type="text_general"indexed="true"stored="true"/>
<fieldname="content"type="text_general"indexed="true"stored="true"/>
<fieldname="tags"type="text_general"indexed="true"stored="true"/>
<fieldname="text"type="text_general"indexed="true"stored="false"multiValued="true"/>
<copyFieldsource="title"dest="text"/>
<copyFieldsource="content"dest="text"/>
<copyFieldsource="tags"dest="text"/>
这种schema定义方式,既可以对单个field指定查询权重,也可以在泛查询的时候提升性能,同时生成索引数据的时候不需要多写任何代码
柚鸥ASO
2024-03-16 广告
2024-03-16 广告
首先,要了解ASO优化的基本概念,以及与aso有关的相关技术。其次,要掌握运用界面的相关知识,熟悉aso有关的相关操作。此外,还需要通过各大渠道了解行业内的最新技术和aso优化的最新操作。
柚鸥ASO优化就做的蛮不错的;专注应用商店下载量优...
点击进入详情页
本回答由柚鸥ASO提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询