关于Solr在Node.js中的使用以及Core的创建

1)Solr在NodeJs中的使用

     Solr在Node.js中的使用,找到了一个很不错的模块:solr-node-client.具体可以在https://github.com/lbdremy/solr-node-client中下载到。这个模块中的example目录下列出了会经常使用的关于CRUD操作的具体使用方法,可以很快的了解这个模块的主要功能。

   在这些例子代码中,最关键的一句var client = solr.createClient();用于创建与Solr的连接。这里用的是无参的方法。其实翻看模块源码中的solr.js可以看到,这里应该有四个参数:

 * @param {String|Object} [host='127.0.0.1'] - IP address or host address of the Solr server
 * @param {Number|String} [port='8983'] - port of the Solr server
 * @param {String} [core=''] - name of the Solr core requested
 * @param {String} [path='/solr'] - root path of all requests
后面标注的是不传参数时的默认值。所以如果我们用Solr自带的Jetty容器的话,我们就可以直接用无参来创建client。如果我们要把Solr部署到Tomcat下时,我们端口可能有变化,可以将参数传入到 solr.createClient(host,port,core,path)方法中就可以了。

    此外,如果想要在Java中操作Solr的话,在安装目录的dist目录下有solr-solrj-4.2.0.jar,可以查看API来进行操作。

2)Solr中Core的创建

       这个我今天只是做了一下测试用这种方法可以实现。

       在安装目录的example/solr下创建新目录collection2,复制collection1下的data和conf文件夹到collection2下,然后再http://localhost:8983/solr/#/~cores/下进行Add Core的操作。

       另外我注意到,在进行这样的操作以后,example/solr下的solr.xml配置会发生变化。所以我想也可以通过直接修改solr.xml文件的方法来创建Core。

       

Join 是 Spring Data Solr 框架的一个查询类,可以实现 Solr 的 Join 操作。使用 Join,可以依据 Solr 数据库的两个或多个集合之间的关系,将它们的文档组合在一起,生成一个新的集合。Join 向上递归地处理集合的每个文档,以获取其关联文档,最终返回一个包含所有指定关联文档的新集合。 使用 Join,需要创建一个 Join 对象,并调用 on 方法,指定要进行 Join 的两个集合之间的关系,然后调用 from 方法,指定数据源,生成一个 Query 对象。最后,可以通过 SolrTemplate 对象进行查询,获取匹配的文档集合。 一个 Join 示例代码如下: ```java Join join = new Join("order_id", "id"); Criteria criteria = new Criteria("order_total").greaterThan(100); Query query = new SimpleQuery(criteria).addProjectionOnField("product_name").addProjectionOnField("order_id").addJoin(join); Page<JoinResult> page = solrTemplate.queryForPage(query, JoinResult.class); List<JoinResult> results = page.getContent(); ``` 这个 Join 查询,是根据两个集合的 order_id 字段和 id 字段进行关联的。在查询条件使用了一个简单查询,查询 order_total 大于 100 的文档。使用 addProjectionOnField 方法添加两个字段的投影,在查询结果可以获取这两个字段的值。将 Join 对象添加到 Query 对象solrTemplate.queryForPage 方法执行查询,返回匹配的 JoinResult 集合。 更多关于 Spring Data Solr Join 的信息,可以参考 Spring Data Solr 的官方文档。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值