2013-02-01 47 views
1

在solr PECL php包中,对于solrQuery类,我们可以使用solrparam :: set方法将参数添加为名称值对。因此,为了构建查询,我们可以使用此SolrParams类。PECL solr包问题

我只是想弄清楚solrquery对象中所有方法的用例是什么。 像

 ***"SolrQuery::addFacetDateField — Maps to facet.date 
     SolrQuery::addFacetDateOther — Adds another facet.date.other parameter 
     SolrQuery::addFacetField — Adds another field to the facet 
     SolrQuery::addFacetQuery — Adds a facet query 
     SolrQuery::addField — Specifies which fields to return in the result 
     SolrQuery::addFilterQuery — Specifies a filter query 
     SolrQuery::addHighlightField — Maps to hl.fl"*** 

....等。

我们可以简单地使用solrparam为查询添加参数,那么这些参数有什么用处。

感谢

回答

1

没有什么特别之处这些方法。您可以通过两种方式使用API​​,而不会受到任何处罚。使用SolrQuery方法可以让你的代码更加明确,所以对于我所设想的可读性来说更好。

2

添加了这些方法以简化Solr函数的使用。不幸的是,当前的文档忽略了很多用例,我目前正在处理这些用例。

使用查询功能的方法(如日期方面)更容易且更一致,无需每次进入Solr文档以抽取参数名称。它也不太容易出错。

暂时,如果你想了解更多有关这些功能,您可以检查Solr的维基http://wiki.apache.org/solr/SimpleFacetParameters#facet.date.other

的SolrParams是SolrQuery的祖先,SolrQuery具有比裸露的骨头更多的功能(SolrParams) 。在文档中,它作为查询方法接受的SolrClient :: query()接受SolrParams类型的参数(表示SolrParams的任何后代)。