I understand what you mean regarding efficiency/speed. 
My reason for doing things this way was so that I could compare 2 time 
series, ones coming from 1 query and another coming from another query.

On Thursday, 10 July 2014 15:27:28 UTC-4, Jörg Prante wrote:
>
> Yes, this is a lookup from one document of another document using a get 
> request. Note the result of the lookup is a single document source, whereas 
> a search request provides a search response with a document source list, 
> which is vastly oversized for use from a script, and takes even longer to 
> complete. Note also the comment "This is not very efficient"  ... searches 
> would be even more harmful at that place in a script code. I do not 
> recommend it. Instead, use search requests from a client.
>
> Jörg
>
>
> On Thu, Jul 10, 2014 at 9:14 PM, Adrian <[email protected] <javascript:>> 
> wrote:
>
>> Ok, thanks.
>>
>> Though I've noticed that I can inject Node in the Factory method to get 
>> the client in the script as shown here: 
>> https://github.com/imotov/elasticsearch-native-script-example/blob/master/src/main/java/org/elasticsearch/examples/nativescript/script/LookupScript.java
>> .
>>
>> Couldn't I in this case perform a query through the client?
>>
>>
>>
>>
>> On Wednesday, 9 July 2014 19:03:49 UTC-4, Jörg Prante wrote:
>>
>>> Scripts are not an alternative to write filters or queries, they are 
>>> part of the filter or query computation. With scripts, you can access 
>>> document fields and perform evaluations depending on one or more field 
>>> values, for example, for custom scoring. Also, index term statistics can be 
>>> accessed from scripts. Script results are passed back to the query 
>>> processing.
>>>
>>> Jörg
>>>
>>>
>>> On Wed, Jul 9, 2014 at 10:41 PM, Adrian <[email protected]> wrote:
>>>
>>>> Hi,
>>>> I'm curious how scripts work in ES.
>>>> I've created a simple script which checks if a field in a record is 
>>>> equal to a certain value then return 1 otherwise return 0. I used 
>>>> AbstractDoubleSearchScript as the super class for this script.
>>>> My records contains some a data field that is an int and a date field 
>>>> (long) (some other ones too that I don't care too much yet)
>>>>
>>>> What I've noticed is that when I execute the script, each record in the 
>>>> ES db goes through the script and is returned either w a score of 0 or 1.
>>>> What I would like to know is if it is possible to do a range query, say 
>>>> given 2 date params, and select only the records that fall between those 
>>>> dates to run through the script.
>>>>
>>>> I know how to do this with the API but not in script format. For 
>>>> example this non script code works:
>>>>  SearchRequestBuilder s = client.prepareSearch("posts")
>>>>                 .setQuery(QueryBuilders.queryString(query).
>>>> defaultField("post.body"))
>>>>                 .setSize(count)
>>>>                 .setFrom(start)
>>>>                 .setFilter(FilterBuilders.rangeFilter("post.
>>>> creationDate").from(interval.getStart.toString()).to(
>>>> interval.getEnd.toString()))
>>>>                 .setFilter(FilterBuilders.existsFilter("userId"));
>>>> s.setSearchType(SearchType.DFS_QUERY_THEN_FETCH);
>>>>
>>>> But when extending AbstractDoubleSearchScript I have access only to a 
>>>> few things like doc(), source(), fields(), lookup() and I'm not sure how 
>>>> to 
>>>> filter records.
>>>> Also I can't find documentation on what these are ie: what is source() 
>>>> other than a Map.
>>>>
>>>> Any help on filtering is greatly appreciated!
>>>> Thanks
>>>>
>>>>
>>>>  -- 
>>>> 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 [email protected].
>>>>
>>>> To view this discussion on the web visit https://groups.google.com/d/
>>>> msgid/elasticsearch/1673cee1-468e-462b-85a4-c8e45fa74156%
>>>> 40googlegroups.com 
>>>> <https://groups.google.com/d/msgid/elasticsearch/1673cee1-468e-462b-85a4-c8e45fa74156%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>> .
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>>
>>>  -- 
>> 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 [email protected] <javascript:>.
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/elasticsearch/5b353881-4a58-48af-980b-7a0e5f2ae2cf%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/elasticsearch/5b353881-4a58-48af-980b-7a0e5f2ae2cf%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>

-- 
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 [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/elasticsearch/96487e27-b538-48c1-9840-42e75ea021f3%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to