Hi,
You are using the dismax request handler, which only accepts a simple
string in the q parameter, you can't specify other fields in it that
way. In any case, using filter queries (fq) as suggested by Indika
Tantrigoda is a better option as these are cached separately which is
quite useful for faceting.
Regards,
gwk
On 3/29/2010 6:07 PM, Dhanushka Samarakoon wrote:
Thanks for the reply. I was just giving the above as an example.
Something as simple as following is also not working.
/select/?q=france+fDepartmentName:History&version=2.2&
So it looks like the query parameter syntax I'm using is wrong.
This is the params array I'm getting from the result.
<lst name="params">
<str name="rows">10</str>
<str name="start">0</str>
<str name="indent">on</str>
<str name="q">kansas fDepartmentName:History</str>
<str name="qt">dismax</str>
<str name="version">2.2</str>
</lst>
On Mon, Mar 29, 2010 at 10:59 AM, Tommy Chheng<tommy.chh...@gmail.com>wrote:
Try adding quotes to your query:
DepartmentName:Chemistry+fSponsor:\"US Cancer/Diabetic Research Institute\"
The parser will split on whitespace
Tommy Chheng
Programmer and UC Irvine Graduate Student
Twitter @tommychheng
http://tommy.chheng.com
On 3/29/10 8:49 AM, Dhanushka Samarakoon wrote:
Hi,
I'm trying to perform a search based on keywords and then reduce the
result
set based on facets that user selects.
First query for a search would look like this.
http://localhost:8983/solr/select/?q=cancer+stem&version=2.2&wt=php&start=&rows=10&indent=on&qt=dismax&facet=on&facet.mincount=1&facet.field=fDepartmentName&facet.field=fInvestigatorName&facet.field=fSponsor&facet.date=DateAwarded&facet.date.start=2009-01-01T00:00:00Z&facet.date.end=2010-01-01T00:00:00Z&facet.date.gap=%2B1MONTH
In the above query (as per dismax on the solr config file) it searches
multiple fields such as GrantTitle, DepartmentName, InvestigatorName,
etc...
Then if user select 'Chemistry' from the facet field 'fDepartmentName'
and
'US Cancer/Diabetic Research Institute' from 'fSponsor' I need to reduce
the
result set above to only records from where fDepartmentName is 'Chemistry'
and 'fSponsor' is 'US Cancer/Diabetic Research Institute'
The following query is not working.
select/?q=cancer+stem+fDepartmentName:Chemistry+fSponsor:US
Cancer/Diabetic
Research Institute&version=2.2&
Fields starting with 'f' are defined in the schema.xml as copy fields.
<field name="DepartmentName" type="text" indexed="true" stored="true"
multiValued="true" />
<field name="fDepartmentName" type="string" indexed="true"
stored="false"
multiValued="true" />
<copyField source="DepartmentName" dest="fDepartmentName"/>
Any ideas on the correct syntax?
Thanks,
Dhanushka.