热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

solr之dynamicField动态字段的使用

业务场景,并不是我们业务的所有字段都需要在schema.xml、managed-schema指定成固定的字段。<fieldnamenametypestringindexe

业务场景,并不是我们业务的所有字段都需要在schema.xml、managed-schema指定成固定的字段。
这些都是固定的

例如我现在有一个新业务,大概有5个字段,需要拼接在原来的core里面,那么dynamicField就发挥了它的用武之地了。
直接上代码:
schema.xml、managed-schema文件中的配置如下
      
       存放String类型
       存放double类型
       存放long类型

    
          

java代码:

 public static void testAddPerson(){
        try{
            // 得到请求
            SolrClient sc = getSolrClient();
            // 拼装文本
            SolrInputDocument doc = new SolrInputDocument();
            doc.addField("id", 1);
            doc.addField("solrField_s_1", "1");
            doc.addField("solrField_s_2", "2");
            doc.addField("solrField_d_1", "2.0");
            doc.addField("solrField_l_1", "1239012320");
            sc.add(doc);
            sc.commit();
        } catch (SolrServerException e) {
            new SolrUtils().logger.error(e.getMessage());
            throw new CenException("solr备注报错");
        } catch (IOException e) {
            new SolrUtils().logger.error(e.getMessage());
            throw new CenException("solr备注报错");
        }
    }

  public static SolrClient getSolrClient() {
        String url = "xxxxx";//这里是solr的实例的请求地址
        return new HttpSolrClient(url);
    }

查询结果:

{
"responseHeader":{
"status":0,
"QTime":135,
"params":{
"q":"*:*",
"indent":"on",
"wt":"json",
"_":"1510043041895"}}
,
"response":{"numFound":1,"start":0,"docs":[
{
"id":1,
"solrField_s_1":"1",
"keywords":["1",
"2",
"2.0",
"1239012320"]
,
"solrField_s_2":"2",
"solrField_d_1":2.0,
"solrField_l_1":1239012320,
"_version_":1583395999953453056}]
}
}
通过结果可以看出,我的schema.xml里面根本就没配置 solrField_s_1,solrField_s_2,solrField_d_1,solrField_l_1这些字段,但是却能把数据放进去,放进去了,肯定可以根据对应的字段进行查询。



推荐阅读
author-avatar
6057318491
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有