SOLR-node-client中SOLR的`fq`字段的功能

时间:2016-05-08 14:22:20

标签: node.js solr

对于SOLR中的qstartrow等各种字段,我们在SOLR-node-client中都有相应的功能。

因此,如果我想构建以下内容的查询:

http://host:port/solr/eposro/select?q=cats.0%3A1&start=0&rows=4&wt=json&indent=true

我可以使用这样的东西:

var query = client.createQuery()
                .q({cats.0 : 1})
                .start(0)
                .rows(4);

但是,SOLR中有一个过滤器查询字段fq。我似乎没有在SOLR-node-client中找到相应的函数。

以下给我错误:

var query = client.createQuery()
                .q({cats.0 : 1})
                .fq({'brand':'real'})
                .start(0)
                .rows(4);

我收到一条错误消息,指出fq函数不存在。

我做错了什么或者是否有其他方法可以使用SOLR-node-client实现过滤查询?

2 个答案:

答案 0 :(得分:2)

createQuery()会返回Query个对象,并且它有一个matchFilter方法。

示例:

var query = client.createQuery()
            .q({cats.0 : 1})
            .matchFilter('brand', 'real')
            .start(0)
            .rows(4);

HTH

答案 1 :(得分:1)

我检查了一下源代码,发现:

enter image description here

enter image description here

因此,用法应类似于

let searchQuery = solrClient.query()
searchQuery = searchQuery.fq({field:"tags",value: this.filterTag});

如果任何人都可以更新文档,那就太好了。