Hi!,

I am writing a Java plugin with a customized score script (native) 
returning a double. Basically I wrote a class extending 
AbstractDoubleSearchScript. 
For some documents which don't pass a specific test, the score should be 
the lowest possible, meaning they should be at the bottom of the results.
Its is hard for me to find a lower bound for my scores, since they are 
logarithms of probabilities. (the theoretical lower bound is log(0))
I have tried returning in the runAsDouble() method 
  Double.NEGATIVE_INFINITY and also 
  (-Double.MAX_VALUE)
since the Double.MIN_VALUE is not actualy the minimum negative value (I 
guess the name of that constant is not consistent with the one for 
Integer.MIN_VALUE but that's a different story).

When I return the aforementioned constants I get an error:
java.lang.IllegalArgumentException: docID must be >= 0 and < 
maxDoc=58514550 (got docID=2147483647)
at 
org.apache.lucene.index.BaseCompositeReader.readerIndex(BaseCompositeReader.java:182)
at 
org.apache.lucene.index.BaseCompositeReader.document(BaseCompositeReader.java:109)
at org.apache.lucene.search.IndexSearcher.doc(IndexSearcher.java:196)
at 
org.elasticsearch.search.fetch.FetchPhase.loadStoredFields(FetchPhase.java:228)
at org.elasticsearch.search.fetch.FetchPhase.execute(FetchPhase.java:156)
at 
org.elasticsearch.search.SearchService.executeFetchPhase(SearchService.java:340)
at 
org.elasticsearch.search.action.SearchServiceTransportAction$11.call(SearchServiceTransportAction.java:308)
at 
org.elasticsearch.search.action.SearchServiceTransportAction$11.call(SearchServiceTransportAction.java:305)
at 
org.elasticsearch.search.action.SearchServiceTransportAction$23.run(SearchServiceTransportAction.java:517)
at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:722)


I am using ES 1.2.0 on a single machine. and the query is formed like this:

{
  "query" : {
    "function_score" : {
      "query" : {
        //some filters
      },
      "script_score" : {
        "script" : "my_script",
        "lang" : "native",
        "params" : {
          //some parameters
        }
      },
      "score_mode" : "first",
      "boost_mode" : "replace"
    }
  }
}

Cheers

-- 
You received this message because you are subscribed to the Google Groups 
"elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to elasticsearch+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/elasticsearch/67ebe35f-d58c-4890-aacb-b7647fcde75a%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to