> Using SolrQuery.setQuery("{!lucene q.op=AND > df=text}myfield:foo +bar -baz}"); would make more sense if > it were not for the other methods available on SolrQuery. > > For example, there is a "setFields(String..)" method. So > what happens if I call setFields("title", "description") > after having set the query to the above value? What do I end > up with? Something like this: > > {!lucene q.op=AND df=text}title:(foo +bar -baz) > description:(foo +bar baz)}
No. setFields is equvalent to &fl=title,description It determines which fields will be returned as a result. > I'm still having trouble understanding how the class is > intended to be used. SolrQuery extends ModifiableSolrParams. If you look at the source code of it you can understand. For example setQuery method invokes this.set(CommonParams.Q, query); You can set anything in the search url with this class. &key=value is equal to SolrQuery.set(key, value). There are some multivalued keys like fq and facet.field, in those cases you can use add() method.