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可以写成如下这种格式,就能达到效果
这种schema定义方式,既可以对单个field指定查询权重,也可以在泛查询的时候提升性能,同时生成索引数据的时候不需要多写任何代码
下载说明
☉本站所有源码和资源均由站长亲自测试-绝对保证都可以架设,运营!
☉如源码和资源有损坏或所有链接均不能下载,请告知管理员,
☉本站软件和源码大部分为站长独资,资源购买和收集,放心下载!
☉唯一站长QQ:1004003180 [人格担保-本站注重诚信!]
☉购买建议E-mail:1004003180@qq.com 源码收购 E-mail:1004003180@qq.com
☉本站文件解压密码 【文章内都自带解压密码,每个密码不同!】