Switching to solr-user. Jerry, what type of function are you trying to do that Solr won't do for you out of the box?
-Yonik On Tue, Aug 12, 2008 at 5:13 PM, Jerry Quinn (JIRA) <[EMAIL PROTECTED]> wrote: > > [ > https://issues.apache.org/jira/browse/SOLR-693?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12621980#action_12621980 > ] > > Jerry Quinn commented on SOLR-693: > ---------------------------------- > > I found SortableIntFieldSource but it's not publicly accessible. It's also > in org.apache.solr.schema instead of org.apache.solr.search.function like all > the other ValueSource objects. > >> IntFieldSource incompatible with sint field type >> ------------------------------------------------ >> >> Key: SOLR-693 >> URL: https://issues.apache.org/jira/browse/SOLR-693 >> Project: Solr >> Issue Type: Bug >> Components: search >> Affects Versions: 1.3 >> Environment: RHEL 5, java6, builtin jetty container >> Reporter: Jerry Quinn >> >> I'm trying to create a custom scoring query in Solr to implement a date >> bias. I have a custom query parser that I'm using, that does nothing but >> wrap a BoostedQuery around the original query, which works in general. >> I'm indexing and storing the day number in an sint field. To implement my >> query, I extract the contents using >> org.apache.solr.search.function.IntFieldSource. Unfortunately, this throws >> an exception when it executes: >> HTTP ERROR: 500 >> For input string: "€?" >> java.lang.NumberFormatException: For input string: "€?" >> at >> java.lang.NumberFormatException.forInputString(NumberFormatException.java:61) >> at java.lang.Integer.parseInt(Integer.java:460) >> at java.lang.Integer.parseInt(Integer.java:510) >> at >> org.apache.lucene.search.FieldCacheImpl$3.parseInt(FieldCacheImpl.java:148) >> at >> org.apache.lucene.search.FieldCacheImpl$7.createValue(FieldCacheImpl.java:262) >> at >> org.apache.lucene.search.FieldCacheImpl$Cache.get(FieldCacheImpl.java:72) >> at >> org.apache.lucene.search.FieldCacheImpl.getInts(FieldCacheImpl.java:245) >> at >> org.apache.lucene.search.FieldCacheImpl.getInts(FieldCacheImpl.java:239) >> at >> org.apache.solr.search.function.IntFieldSource.getValues(IntFieldSource.java:50) >> at >> org.apache.solr.search.function.FunctionQuery$AllScorer.<init>(FunctionQuery.java:103) >> at >> org.apache.solr.search.function.FunctionQuery$FunctionWeight.scorer(FunctionQuery.java:81) >> at >> org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:132) >> at org.apache.lucene.search.Searcher.search(Searcher.java:126) >> at org.apache.lucene.search.Searcher.search(Searcher.java:105) >> at >> org.apache.solr.search.SolrIndexSearcher.getDocListNC(SolrIndexSearcher.java:966) >> at >> org.apache.solr.search.SolrIndexSearcher.getDocListC(SolrIndexSearcher.java:838) >> at >> org.apache.solr.search.SolrIndexSearcher.search(SolrIndexSearcher.java:269) >> at >> org.apache.solr.handler.component.QueryComponent.process(QueryComponent.java:160) >> at >> org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:175) >> at >> org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:135) >> at org.apache.solr.core.SolrCore.execute(SolrCore.java:1151) >> I ran into exactly the same problem when I tried to use the CustomScoreQuery >> and IntFieldSource classes from Lucene. >> I've tracked the problem down to the fact that IntFieldSource expects the >> contents of the field to actually be an integer as returned by >> FieldCache.getInts(). However, Solr converts a sortable int using >> NumberUtils.int2sortablestr(). >> If I change my code to create a custom FieldCache.IntParser that applies >> NumberUtils.SortableStr2int before returning the value, my query works as >> expected. For example: >> class MyIntParser implements FieldCache.IntParser { >> public int parseInt(String val) { return NumberUtils.SortedStr2int(val, 0, >> val.length()); } >> } >> Query q = new BoostedQuery(qry, new IntFieldSource("myfield", new >> MyIntParser())); > > -- > This message is automatically generated by JIRA. > - > You can reply to this email to add a comment to the issue online. > >