You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-user@lucene.apache.org by Michael Herchel <mh...@fhsaa.org> on 2011/11/10 20:15:04 UTC
I cannot get elevate.xml to work with Apache Solr (1.41)
I've searched high and low for this via Google and the Solr wiki page, and cannot find the answer.
My problem:
-----------
I'm having trouble getting the elevate.xml working. Here's what it currently looks like:
<elevate>
<query text="thanks giving">
<doc id="9c3ec5/node/3564" />
</query>
</elevate>
>From what I understand, this should work. According to http://wiki.apache.org/solr/SchemaXml#The_Unique_Key_Field, I need to have the unique key defined in the schema.xml. I checked this and I do have it:
<uniqueKey>id</uniqueKey>
I found the "9c3ec5/node/3564" by doing a search directly off the Solr server (http://localhost:8983/solr/admin/) and finding the ID of the document that I wanted from the generated XML. Here is what the result of my search, so you can see where I got the ID from.
<result name="response" numFound="2" start="0">
<doc>
<str name="body">
--content here --
</str>
<date name="changed">2011-08-31T19:42:15Z</date>
<int name="comment_count">0</int>
<date name="created">2011-08-16T13:18:00Z</date>
<str name="entity">node</str>
<str name="hash">9c3ec5</str>
<str name="id">9c3ec5/node/3564</str>
I have verified that elevate.xml is being loaded. When I start Solr manually (java -Dsolr.solr.home=c:/solr/ -jar start.jar), I do see the elevate.xml is being loaded:
INFO: Loading QueryElevation from: c:\solr\conf\elevate.xml Nov 10, 2011 11:11:24 AM org.apache.solr.handler.component.SearchHandler inform INFO: Adding component:org.apache.solr.handler.component.QueryComponent@7bfbcffa
I also restart the Solr service after making any changes to elevate.xml. Is this enough? Do I need to reindex or do anything else?
Environment Info:
-----------------
Apache Solr 1.4.1 is running on Windows Server 2008 R2 (64bit). I'm searching using the Drupal Content Management System (version 6.22). Search is working great except for this.
Any Ideas?
----------
Does anyone have any ideas? Do I need to reindex the content? Any help would be greatly appreciated!
Michael Herchel
Network Administrator
Florida High School Athletic Association
http://www.fhsaa.org
(352) 372-9551 x120 | mherchel@fhsaa.org
----------
Become a FHSAA Official! Earn part-time income! Your local high schools need umpires and referees.
http://www.BecomeAnOfficial.org
Re: I cannot get elevate.xml to work with Apache Solr (1.41)
Posted by Koji Sekiguchi <ko...@r.email.ne.jp>.
(11/11/11 23:16), Michael Herchel wrote:
> Thanks Koji!
>
> Using the elevate request handler worked.
>
> Is there a way to use the QueryElevationComponent in the default search handler?
>
> I added the following:
>
> <bool name="enableElevation">true</bool>
> <bool name="forceElevation">true</bool>
>
> to<requestHandler name="standard" class="solr.SearchHandler">, so the result looked like
>
> <requestHandler name="standard" class="solr.SearchHandler">
> <!-- default values for query parameters -->
> <lst name="defaults">
> <str name="echoParams">explicit</str>
> <bool name="omitHeader">true</bool>
> <bool name="enableElevation">true</bool>
> <bool name="forceElevation">true</bool>
> <!--
> <int name="rows">10</int>
> <str name="fl">*</str>
> <str name="version">2.1</str>
> -->
> </lst>
> </requestHandler>
>
> But, this didn't work when doing a default search http://localhost:8983/solr/select/?q=thanks+giving
>
> Is there a method to make this default? Thank you!
Hi Michael,
You missed "elevator" component in your "standard" request handler.
Add the following snippet to your request handler:
> <arr name="last-components">
> <str>elevator</str>
> </arr>
koji
--
Check out "Query Log Visualizer" for Apache Solr
http://www.rondhuit-demo.com/loganalyzer/loganalyzer.html
http://www.rondhuit.com/en/
RE: I cannot get elevate.xml to work with Apache Solr (1.41)
Posted by Michael Herchel <mh...@fhsaa.org>.
Thanks Koji!
Using the elevate request handler worked.
Is there a way to use the QueryElevationComponent in the default search handler?
I added the following:
<bool name="enableElevation">true</bool>
<bool name="forceElevation">true</bool>
to <requestHandler name="standard" class="solr.SearchHandler">, so the result looked like
<requestHandler name="standard" class="solr.SearchHandler">
<!-- default values for query parameters -->
<lst name="defaults">
<str name="echoParams">explicit</str>
<bool name="omitHeader">true</bool>
<bool name="enableElevation">true</bool>
<bool name="forceElevation">true</bool>
<!--
<int name="rows">10</int>
<str name="fl">*</str>
<str name="version">2.1</str>
-->
</lst>
</requestHandler>
But, this didn't work when doing a default search http://localhost:8983/solr/select/?q=thanks+giving
Is there a method to make this default? Thank you!
Michael Herchel
Network Administrator
Florida High School Athletic Association
http://www.fhsaa.org
(352) 372-9551 x120 | mherchel@fhsaa.org
----------
Become a FHSAA Official! Earn part-time income! Your local high schools need umpires and referees.
http://www.BecomeAnOfficial.org
-----Original Message-----
From: Koji Sekiguchi [mailto:koji@r.email.ne.jp]
Sent: Thursday, November 10, 2011 5:31 PM
To: solr-user@lucene.apache.org
Subject: Re: I cannot get elevate.xml to work with Apache Solr (1.41)
(11/11/11 4:15), Michael Herchel wrote:
> I've searched high and low for this via Google and the Solr wiki page, and cannot find the answer.
>
> My problem:
> -----------
>
> I'm having trouble getting the elevate.xml working. Here's what it currently looks like:
>
> <elevate>
> <query text="thanks giving">
> <doc id="9c3ec5/node/3564" />
> </query>
> </elevate>
>
>> From what I understand, this should work. According to http://wiki.apache.org/solr/SchemaXml#The_Unique_Key_Field, I need to have the unique key defined in the schema.xml. I checked this and I do have it:
>
> <uniqueKey>id</uniqueKey>
>
> I found the "9c3ec5/node/3564" by doing a search directly off the Solr server (http://localhost:8983/solr/admin/) and finding the ID of the document that I wanted from the generated XML. Here is what the result of my search, so you can see where I got the ID from.
>
> <result name="response" numFound="2" start="0">
> <doc>
> <str name="body">
> --content here --
> </str>
> <date name="changed">2011-08-31T19:42:15Z</date>
> <int name="comment_count">0</int>
> <date name="created">2011-08-16T13:18:00Z</date>
> <str name="entity">node</str>
> <str name="hash">9c3ec5</str>
> <str name="id">9c3ec5/node/3564</str>
>
> I have verified that elevate.xml is being loaded. When I start Solr manually (java -Dsolr.solr.home=c:/solr/ -jar start.jar), I do see the elevate.xml is being loaded:
>
> INFO: Loading QueryElevation from: c:\solr\conf\elevate.xml Nov 10, 2011 11:11:24 AM org.apache.solr.handler.component.SearchHandler inform INFO: Adding component:org.apache.solr.handler.component.QueryComponent@7bfbcffa
>
> I also restart the Solr service after making any changes to elevate.xml. Is this enough? Do I need to reindex or do anything else?
Michael,
You need to check solrconfig.xml that you have QueryElevationComponent defined like this:
<searchComponent name="elevator" class="solr.QueryElevationComponent" >
<!-- pick a fieldType to analyze queries -->
<str name="queryFieldType">string</str>
<str name="config-file">elevate.xml</str>
</searchComponent>
Additionally, the search component (named "elevator" hare) should be defined in your
request handler:
<!-- A request handler for demonstrating the elevator component -->
<requestHandler name="/elevate" class="solr.SearchHandler" startup="lazy">
<lst name="defaults">
<str name="echoParams">explicit</str>
</lst>
<arr name="last-components">
<str>elevator</str>
</arr>
</requestHandler>
Finally, you need to use the request handler when you request:
http://localhost:8983/solr/elevate?q=thanks giving
And no, you do not need to reindex to get work QueryElevationComponent.
koji
--
Check out "Query Log Visualizer" for Apache Solr
http://www.rondhuit-demo.com/loganalyzer/loganalyzer.html
http://www.rondhuit.com/en/
Re: I cannot get elevate.xml to work with Apache Solr (1.41)
Posted by Koji Sekiguchi <ko...@r.email.ne.jp>.
(11/11/11 4:15), Michael Herchel wrote:
> I've searched high and low for this via Google and the Solr wiki page, and cannot find the answer.
>
> My problem:
> -----------
>
> I'm having trouble getting the elevate.xml working. Here's what it currently looks like:
>
> <elevate>
> <query text="thanks giving">
> <doc id="9c3ec5/node/3564" />
> </query>
> </elevate>
>
>> From what I understand, this should work. According to http://wiki.apache.org/solr/SchemaXml#The_Unique_Key_Field, I need to have the unique key defined in the schema.xml. I checked this and I do have it:
>
> <uniqueKey>id</uniqueKey>
>
> I found the "9c3ec5/node/3564" by doing a search directly off the Solr server (http://localhost:8983/solr/admin/) and finding the ID of the document that I wanted from the generated XML. Here is what the result of my search, so you can see where I got the ID from.
>
> <result name="response" numFound="2" start="0">
> <doc>
> <str name="body">
> --content here --
> </str>
> <date name="changed">2011-08-31T19:42:15Z</date>
> <int name="comment_count">0</int>
> <date name="created">2011-08-16T13:18:00Z</date>
> <str name="entity">node</str>
> <str name="hash">9c3ec5</str>
> <str name="id">9c3ec5/node/3564</str>
>
> I have verified that elevate.xml is being loaded. When I start Solr manually (java -Dsolr.solr.home=c:/solr/ -jar start.jar), I do see the elevate.xml is being loaded:
>
> INFO: Loading QueryElevation from: c:\solr\conf\elevate.xml Nov 10, 2011 11:11:24 AM org.apache.solr.handler.component.SearchHandler inform INFO: Adding component:org.apache.solr.handler.component.QueryComponent@7bfbcffa
>
> I also restart the Solr service after making any changes to elevate.xml. Is this enough? Do I need to reindex or do anything else?
Michael,
You need to check solrconfig.xml that you have QueryElevationComponent defined like this:
<searchComponent name="elevator" class="solr.QueryElevationComponent" >
<!-- pick a fieldType to analyze queries -->
<str name="queryFieldType">string</str>
<str name="config-file">elevate.xml</str>
</searchComponent>
Additionally, the search component (named "elevator" hare) should be defined in your
request handler:
<!-- A request handler for demonstrating the elevator component -->
<requestHandler name="/elevate" class="solr.SearchHandler" startup="lazy">
<lst name="defaults">
<str name="echoParams">explicit</str>
</lst>
<arr name="last-components">
<str>elevator</str>
</arr>
</requestHandler>
Finally, you need to use the request handler when you request:
http://localhost:8983/solr/elevate?q=thanks giving
And no, you do not need to reindex to get work QueryElevationComponent.
koji
--
Check out "Query Log Visualizer" for Apache Solr
http://www.rondhuit-demo.com/loganalyzer/loganalyzer.html
http://www.rondhuit.com/en/