Re: multiple spellchecker components
I figured it out myself. The parameter is called "spellcheck.dictionary". This needs to be set to the desired spellchecker name. I'll updated the wiki with this information. Best regards, Stefan -Ursprüngliche Nachricht----- Von: Stefan Oestreicher [mailto:[EMAIL PROTECTED] Gesendet: Mittwoch, 10. September 2008 11:47 An: solr-user@lucene.apache.org Betreff: multiple spellchecker components Hi, I'm currently in the middle of converting my index from the old spellchecker request handler to the spellcheck component. My index has a category field and my frontend only allows to search in one category at once so I have a spellchecker request handler for each category in order to present only spelling suggestions that are relevant for the current category (the handlers only differ in the termSourceField). Unfortunately I don't quite get how I can achieve that with the new component. Although the example in the wiki shows how you can configure multiple components there doesn't seem to be a way to explicitly invoke one of them on a per request basis (or at least the wiki lacks an example). That's my current configuration: default org.apache.solr.spelling.IndexBasedSpellChecker spellcheck news org.apache.solr.spelling.IndexBasedSpellChecker spellcheck_nachrichten But it seems that only the "default" spellchecker is actually used. I tried passing the name like "spellcheck.name=news" but that didn't work. What am I missing? TIA, Stefan Oestreicher
multiple spellchecker components
Hi, I'm currently in the middle of converting my index from the old spellchecker request handler to the spellcheck component. My index has a category field and my frontend only allows to search in one category at once so I have a spellchecker request handler for each category in order to present only spelling suggestions that are relevant for the current category (the handlers only differ in the termSourceField). Unfortunately I don't quite get how I can achieve that with the new component. Although the example in the wiki shows how you can configure multiple components there doesn't seem to be a way to explicitly invoke one of them on a per request basis (or at least the wiki lacks an example). That's my current configuration: default org.apache.solr.spelling.IndexBasedSpellChecker spellcheck news org.apache.solr.spelling.IndexBasedSpellChecker spellcheck_nachrichten But it seems that only the "default" spellchecker is actually used. I tried passing the name like "spellcheck.name=news" but that didn't work. What am I missing? TIA, Stefan Oestreicher
RE: query parsing
Ah, yes, the FieldType I used was not the one I needed. I completely missed that. Thank you very much, it's working perfectly now. thanks, Stefan Oestreicher > -Original Message- > From: Erik Hatcher [mailto:[EMAIL PROTECTED] > Sent: Tuesday, August 12, 2008 11:46 AM > To: solr-user@lucene.apache.org > Subject: Re: query parsing > > Solr/Lucene QueryParser returns a TermQuery for "phrases" > that end up only as a single term. This could happen, for > example, if it was using Solr's "string" field type (which > has effectively no analyzer). > > I'd guess that you'd want to re-analyze TermQuery's? (though > that sound problematic for many cases) Or possibly use your > own SolrQueryParser subclass and override #getFieldQuery. > > Erik > > On Aug 12, 2008, at 5:26 AM, Stefan Oestreicher wrote: > > > Hi, > > > > I need to modify the query to search through all fields if > no explicit > > field has been specified. I know there's the dismax handler but I'd > > like to use the standard query syntax. > > I implemented that with my own QParserPlugin and QParser and for > > simple term queries it works great. I'm using the SolrQueryParser > > which I get from the schema to parse the query with an impossible > > field name as the default field and then I rewrite the query > > accordingly. > > Unfortunately this doesn't work with phrase queries, the > > SolrQueryParser always returns a TermQuery instead of a > phrase query. > > > > What am I missing? Is this even a viable approach? > > > > This is a code snippet from a test case (extending > > AbstractSolrTestCase) > > which I used to verify that it's not returning a PhraseQuery: > > > > -8<- > > SolrQueryParser parser = > > h.getCore().getSchema().getSolrQueryParser(null); > > Query q = parser.parse("baz \"foo bar\""); assertTrue( q instanceof > > BooleanQuery ); BooleanQuery bq = (BooleanQuery)q; > BooleanClause[] cl > > = bq.getClauses(); assertEquals(2, cl.length); //this > assertion fails > > assertTrue(cl[1].getQuery() instanceof PhraseQuery); > > -8<- > > > > I'm using solr 1.3, r685085. > > > > TIA, > > > > Stefan Oestreicher > >
query parsing
Hi, I need to modify the query to search through all fields if no explicit field has been specified. I know there's the dismax handler but I'd like to use the standard query syntax. I implemented that with my own QParserPlugin and QParser and for simple term queries it works great. I'm using the SolrQueryParser which I get from the schema to parse the query with an impossible field name as the default field and then I rewrite the query accordingly. Unfortunately this doesn't work with phrase queries, the SolrQueryParser always returns a TermQuery instead of a phrase query. What am I missing? Is this even a viable approach? This is a code snippet from a test case (extending AbstractSolrTestCase) which I used to verify that it's not returning a PhraseQuery: -8<- SolrQueryParser parser = h.getCore().getSchema().getSolrQueryParser(null); Query q = parser.parse("baz \"foo bar\""); assertTrue( q instanceof BooleanQuery ); BooleanQuery bq = (BooleanQuery)q; BooleanClause[] cl = bq.getClauses(); assertEquals(2, cl.length); //this assertion fails assertTrue(cl[1].getQuery() instanceof PhraseQuery); -----8<- I'm using solr 1.3, r685085. TIA, Stefan Oestreicher
facets and filter query
Hi, I have a category field in my index which I'd like to use as a facet. However my search frontend only allows you to search in one category at a time for which I'm using a filter query. Unfortunately the filter query restricts the facets as well. My query looks like this: ?q=content:foo&fq=cat:default&fl=title,content&facet=true&facet.field=cat What I'd like is to search only in the "default" category but get the result count of that query for all categories. I thought maybe I can use the facet.query parameter but this doesn't seem to do what I want, because the result is the same. Is there any way to accomplish this with only one request? I'm using version 1.3 from trunk. TIA, Stefan Oestreicher
RE: WordDelimiterFilter splits at non-ASCII chars
Yes you're right. I was testing with analysis.jsp but it chokes on multibyte chars. I modified the jsp and set the encoding using request.setCharacterEncoding("UTF-8"); and it's working fine. Bug in analysis.jsp? thanks, Stefan Oestreicher > -Original Message- > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf > Of Yonik Seeley > Sent: Tuesday, July 15, 2008 6:29 PM > To: solr-user@lucene.apache.org > Subject: Re: WordDelimiterFilter splits at non-ASCII chars > > On Tue, Jul 15, 2008 at 10:29 AM, Stefan Oestreicher > <[EMAIL PROTECTED]> wrote: > > as I understand the WordDelimiterFilter should split on > case changes, > > word delimiters and changes from character to digit, but it > should not > > differentiate between ASCII and multibyte chars. It does > however. The > > word "hälse" (german plural of "neck") gets split into "h", "ä" and > > "lse", which unfortunately renders this filter quite > unusable for me. > > Am i missing something or is this a bug? > > I'm using solr 1.3 built from trunk. > > Look for charset issues in communicating with Solr. I just > tried this with the "text" field via Solr's analysis.jsp and > it works fine. > > -Yonik >
WordDelimiterFilter splits at non-ASCII chars
Hi, as I understand the WordDelimiterFilter should split on case changes, word delimiters and changes from character to digit, but it should not differentiate between ASCII and multibyte chars. It does however. The word "hälse" (german plural of "neck") gets split into "h", "ä" and "lse", which unfortunately renders this filter quite unusable for me. Am i missing something or is this a bug? I'm using solr 1.3 built from trunk. TIA, Stefan Oestreicher
1.3 maven artifact
Hi, I just wanted to ask if solr 1.3 is already available as maven artifact? If it is not could you give me an estimate on when it will be? TIA, Stefan Oestreicher -- Dr. Maté GmbH Stefan Oestreicher / Entwicklung [EMAIL PROTECTED] http://www.netdoktor.at Tel Buero: + 43 1 405 55 75 24 Fax Buero: + 43 1 405 55 75 55 Alser Str. 4 1090 Wien Altes AKH Hof 1 1.6.6
AW: nonexistent filter class in schema.xml
No, I'm talking about solr token filters. I implemented my own token filter (org.apache.lucene.analysis.TokenFilter and org.apache.solr.analysis.BaseTokenFilterFactory) but I misspelled the classname in the schema.xml and I got that exception. The solr webinterface didn't respond as well, just a white page, no http response. best regards, Stefan Oestreicher -- Dr. Maté GmbH Stefan Oestreicher / Entwicklung [EMAIL PROTECTED] http://www.netdoktor.at Tel Buero: + 43 1 405 55 75 24 Fax Buero: + 43 1 405 55 75 55 Alser Str. 4 1090 Wien Altes AKH Hof 1 1.6.6 -Ursprüngliche Nachricht- Von: Shalin Shekhar Mangar [mailto:[EMAIL PROTECTED] Gesendet: Donnerstag, 26. Juni 2008 12:51 An: solr-user@lucene.apache.org Betreff: Re: nonexistent filter class in schema.xml Hi Stefan, Your exception is originating from tomcat instead of Solr. Are you talking about adding a ServletFilter (usually declared in web.xml) instead of a custom Solr filter factory (declared in schema.xml)? SEVERE: Error finishing response java.lang.ArrayIndexOutOfBoundsException at java.lang.System.arraycopy(Native Method) at org.apache.coyote.http11.InternalOutputBuffer.write(InternalOutputBuffer.jav a:690) If I add a undefined class as a filter factory in Solr's schema.xml then I get a proper ClassNotFoundException. SEVERE: org.apache.solr.common.SolrException: Error loading class 'my.foo.class' at org.apache.solr.core.SolrResourceLoader.findClass(SolrResourceLoader.java:25 5) ... ... Caused by: java.lang.ClassNotFoundException: my.foo.class I added a new filter to the "text" data-type as follows: ... ... On Thu, Jun 26, 2008 at 3:44 PM, Stefan Oestreicher <[EMAIL PROTECTED]> wrote: > > Sorry, i completely forgot... > I built from trunk, so it's 1.3. Revision 666555. > > best regards, > > Stefan Oestreicher > > -- > Dr. Maté GmbH > Stefan Oestreicher / Entwicklung > [EMAIL PROTECTED] > http://www.netdoktor.at > Tel Buero: + 43 1 405 55 75 24 > Fax Buero: + 43 1 405 55 75 55 > Alser Str. 4 1090 Wien Altes AKH Hof 1 1.6.6 > > -Ursprüngliche Nachricht- > Von: Shalin Shekhar Mangar [mailto:[EMAIL PROTECTED] > Gesendet: Donnerstag, 26. Juni 2008 12:07 > An: solr-user@lucene.apache.org > Betreff: Re: nonexistent filter class in schema.xml > > Can you tell us what version of Solr are you using? > > On Thu, Jun 26, 2008 at 2:41 PM, Stefan Oestreicher < > [EMAIL PROTECTED]> wrote: > > > Hi, > > > > if I add a custom filter in the schema xml and the class doesn't > > exist there is no solr error. Instead tomcat throws an exception: > > > > SEVERE: Error finishing response > > java.lang.ArrayIndexOutOfBoundsException > >at java.lang.System.arraycopy(Native Method) > >at > > > > org.apache.coyote.http11.InternalOutputBuffer.write(InternalOutputBu > > ff > > er.jav > > a:690) > > > > I just ran into this and it took me some time to figure out what > > exactly is causing the error. > > It would've been much easier to debug If there would've been an > > error like "filter class foo.bar.Baz doesn't exist". I guess this > > issue applies to other plugins as well. > > > > best regards, > > > > Stefan Oestreicher > > > > -- > > Dr. Maté GmbH > > Stefan Oestreicher / Entwicklung > > [EMAIL PROTECTED] > > http://www.netdoktor.at > > Tel Buero: + 43 1 405 55 75 24 > > Fax Buero: + 43 1 405 55 75 55 > > Alser Str. 4 1090 Wien Altes AKH Hof 1 1.6.6 > > > > > > > -- > Regards, > Shalin Shekhar Mangar. > -- Regards, Shalin Shekhar Mangar.
AW: nonexistent filter class in schema.xml
Sorry, i completely forgot... I built from trunk, so it's 1.3. Revision 666555. best regards, Stefan Oestreicher -- Dr. Maté GmbH Stefan Oestreicher / Entwicklung [EMAIL PROTECTED] http://www.netdoktor.at Tel Buero: + 43 1 405 55 75 24 Fax Buero: + 43 1 405 55 75 55 Alser Str. 4 1090 Wien Altes AKH Hof 1 1.6.6 -Ursprüngliche Nachricht- Von: Shalin Shekhar Mangar [mailto:[EMAIL PROTECTED] Gesendet: Donnerstag, 26. Juni 2008 12:07 An: solr-user@lucene.apache.org Betreff: Re: nonexistent filter class in schema.xml Can you tell us what version of Solr are you using? On Thu, Jun 26, 2008 at 2:41 PM, Stefan Oestreicher < [EMAIL PROTECTED]> wrote: > Hi, > > if I add a custom filter in the schema xml and the class doesn't exist > there is no solr error. Instead tomcat throws an exception: > > SEVERE: Error finishing response > java.lang.ArrayIndexOutOfBoundsException >at java.lang.System.arraycopy(Native Method) >at > > org.apache.coyote.http11.InternalOutputBuffer.write(InternalOutputBuff > er.jav > a:690) > > I just ran into this and it took me some time to figure out what > exactly is causing the error. > It would've been much easier to debug If there would've been an error > like "filter class foo.bar.Baz doesn't exist". I guess this issue > applies to other plugins as well. > > best regards, > > Stefan Oestreicher > > -- > Dr. Maté GmbH > Stefan Oestreicher / Entwicklung > [EMAIL PROTECTED] > http://www.netdoktor.at > Tel Buero: + 43 1 405 55 75 24 > Fax Buero: + 43 1 405 55 75 55 > Alser Str. 4 1090 Wien Altes AKH Hof 1 1.6.6 > > -- Regards, Shalin Shekhar Mangar.
nonexistent filter class in schema.xml
Hi, if I add a custom filter in the schema xml and the class doesn't exist there is no solr error. Instead tomcat throws an exception: SEVERE: Error finishing response java.lang.ArrayIndexOutOfBoundsException at java.lang.System.arraycopy(Native Method) at org.apache.coyote.http11.InternalOutputBuffer.write(InternalOutputBuffer.jav a:690) I just ran into this and it took me some time to figure out what exactly is causing the error. It would've been much easier to debug If there would've been an error like "filter class foo.bar.Baz doesn't exist". I guess this issue applies to other plugins as well. best regards, Stefan Oestreicher -- Dr. Maté GmbH Stefan Oestreicher / Entwicklung [EMAIL PROTECTED] http://www.netdoktor.at Tel Buero: + 43 1 405 55 75 24 Fax Buero: + 43 1 405 55 75 55 Alser Str. 4 1090 Wien Altes AKH Hof 1 1.6.6
Re: Problems finding solr/home using JNDI on tomcat
Unfortunately I'm neither a solr nor a tomcat expert. My setup is as follows: solr.xml in /etc/tomcat5.5/Catalina//solr.xml And my is /data/java/dev02 Is your solr.home writable by tomcat and outside of ? HTH, Stefan Oestreicher -- Dr. Maté GmbH Stefan Oestreicher / Entwicklung [EMAIL PROTECTED] http://www.netdoktor.at Tel Buero: + 43 1 405 55 75 24 Fax Buero: + 43 1 405 55 75 55 Alser Str. 4 1090 Wien Altes AKH Hof 1 1.6.6 -Ursprüngliche Nachricht- Von: Kjeld Froberg [mailto:[EMAIL PROTECTED] Gesendet: Freitag, 13. Juni 2008 11:42 An: solr-user@lucene.apache.org Betreff: Re: Problems finding solr/home using JNDI on tomcat Hi, Same problem. Contextfile: Output. 13-06-2008 11:36:20 org.apache.solr.servlet.SolrDispatchFilter init INFO: SolrDispatchFilter.init() 13-06-2008 11:36:20 org.apache.solr.core.Config getInstanceDir INFO: JNDI not configured for Solr (NoInitialContextEx) 13-06-2008 11:36:20 org.apache.solr.core.Config getInstanceDir Regards Kjeld Stefan Oestreicher skrev: Hi, I'm using tomcat5.5 too. I believe you need to specify override to be true. HTH, mit freundlichen Grüßen, Stefan Oestreicher -- Dr. Maté GmbH Stefan Oestreicher / Entwicklung [EMAIL PROTECTED] http://www.netdoktor.at Tel Buero: + 43 1 405 55 75 24 Fax Buero: + 43 1 405 55 75 55 Alser Str. 4 1090 Wien Altes AKH Hof 1 1.6.6 -Ursprüngliche Nachricht- Von: Kjeld Froberg [mailto:[EMAIL PROTECTED] Gesendet: Freitag, 13. Juni 2008 11:22 An: solr-user@lucene.apache.org Betreff: Problems finding solr/home using JNDI on tomcat Hi I'm using solr 1.2.0 on a Tomcat 5.5 engine And have copied a solr.xml in catalina_home/conf/hostname And Tomcat certainly reads the solr.xml file, because solr is deployed fine. However it cannot find the environment property, because there is a javax.naming.NoInitialContextException when trying to lookup the JNDI name. 13-06-2008 10:24:46 org.apache.solr.servlet.SolrDispatchFilter init INFO: SolrDispatchFilter.init() 13-06-2008 10:24:46 org.apache.solr.core.Config getInstanceDir INFO: JNDI not configured for Solr (NoInitialContextEx) 13-06-2008 10:24:46 org.apache.solr.core.Config getInstanceDir Any suggestions for how to solve that? Regards Kjeld
Re: Problems finding solr/home using JNDI on tomcat
Hi, I'm using tomcat5.5 too. I believe you need to specify override to be true. HTH, mit freundlichen Grüßen, Stefan Oestreicher -- Dr. Maté GmbH Stefan Oestreicher / Entwicklung [EMAIL PROTECTED] http://www.netdoktor.at Tel Buero: + 43 1 405 55 75 24 Fax Buero: + 43 1 405 55 75 55 Alser Str. 4 1090 Wien Altes AKH Hof 1 1.6.6 -Ursprüngliche Nachricht- Von: Kjeld Froberg [mailto:[EMAIL PROTECTED] Gesendet: Freitag, 13. Juni 2008 11:22 An: solr-user@lucene.apache.org Betreff: Problems finding solr/home using JNDI on tomcat Hi I'm using solr 1.2.0 on a Tomcat 5.5 engine And have copied a solr.xml in catalina_home/conf/hostname And Tomcat certainly reads the solr.xml file, because solr is deployed fine. However it cannot find the environment property, because there is a javax.naming.NoInitialContextException when trying to lookup the JNDI name. 13-06-2008 10:24:46 org.apache.solr.servlet.SolrDispatchFilter init INFO: SolrDispatchFilter.init() 13-06-2008 10:24:46 org.apache.solr.core.Config getInstanceDir INFO: JNDI not configured for Solr (NoInitialContextEx) 13-06-2008 10:24:46 org.apache.solr.core.Config getInstanceDir Any suggestions for how to solve that? Regards Kjeld
range query highlighting
Hi, I'm using solr built from trunk and highlighting for range queries doesn't work. If I search for "2008" everything works as expected but if I search for "[2000 TO 2008]" nothing gets highlighted. The field I'm searching on is a TextField and I've confirmed that the query and index analyzers are working as expected. I didn't find anything in the issue tracker about this. Any ideas? TIA, Stefan Oestreicher -- Dr. Maté GmbH Stefan Oestreicher / Entwicklung [EMAIL PROTECTED] http://www.netdoktor.at Tel Buero: + 43 1 405 55 75 24 Fax Buero: + 43 1 405 55 75 55 Alser Str. 4 1090 Wien Altes AKH Hof 1 1.6.6
AW: phrase highlighting
I see, thanks for the fast response, Stefan Oestreicher -- Dr. Maté GmbH Stefan Oestreicher / Entwicklung [EMAIL PROTECTED] http://www.netdoktor.at Tel Buero: + 43 1 405 55 75 24 Fax Buero: + 43 1 405 55 75 55 Alser Str. 4 1090 Wien Altes AKH Hof 1 1.6.6 -Ursprüngliche Nachricht- Von: Brian Whitman [mailto:[EMAIL PROTECTED] Gesendet: Montag, 02. Juni 2008 15:57 An: solr-user@lucene.apache.org Betreff: Re: phrase highlighting On Jun 2, 2008, at 9:51 AM, Stefan Oestreicher wrote: > (http://www.nabble.com/-jira--Commented:-(SOLR-553)-Highlighter-does-n > ot-mat > ch-phrase-queries-correctly-p17234014.html) It deployed without > problems and the info section in the admin panel correctly (?) reports > the solr version as "Solr Implementation Version: 1.3-dev". > > However there's no difference at all if I use > "hl.usePhraseHighlighter=true" > in my select request, phrase terms are still highlighted individually. > That's a different issue, SOLR-553 was to fix the bug that highlighting would return snips that did not match the query at all (e.g. a query for "a b c" would return a snip that just had a and nothing else.) You want SOLR-575, which is about "joining" the spans across the highlight. It's more of a display fix (although I don't understand the internals of lucene enough to know how hard it would be to implement.) https://issues.apache.org/jira/browse/SOLR-575
phrase highlighting
Hi, in order to use phrase highlighting I built a war from the current svn trunk. (http://www.nabble.com/-jira--Commented:-(SOLR-553)-Highlighter-does-not-mat ch-phrase-queries-correctly-p17234014.html) It deployed without problems and the info section in the admin panel correctly (?) reports the solr version as "Solr Implementation Version: 1.3-dev". However there's no difference at all if I use "hl.usePhraseHighlighter=true" in my select request, phrase terms are still highlighted individually. What am I missing? best regards, Stefan Oestreicher -- Dr. Maté GmbH Stefan Oestreicher / Entwicklung [EMAIL PROTECTED] http://www.netdoktor.at Tel Buero: + 43 1 405 55 75 24 Fax Buero: + 43 1 405 55 75 55 Alser Str. 4 1090 Wien Altes AKH Hof 1 1.6.6
wildcard highlighting
Hi, I've started to play around with Solr and I'm quite impressed with its performance and features. However it seems to me that highlighting of wildcard terms is not supported, which is somewhat disappointing. Are there any plans to support that or did I miss something? best regards, Stefan Oestreicher -- Dr. Maté GmbH Stefan Oestreicher / Entwicklung [EMAIL PROTECTED] http://www.netdoktor.at Tel Buero: + 43 1 405 55 75 24 Fax Buero: + 43 1 405 55 75 55 Alser Str. 4 1090 Wien Altes AKH Hof 1 1.6.6