-> slaps forhead

oboe... hitpos should start at 0 not 1

got my results now converting to DG :-)

 I will post final code once done.

On Tuesday, January 13, 2015 at 8:57:11 PM UTC-5, GWired wrote:

> Getting closer:
>
> I converted my searchResponse to a var
>
> i can now refer to a value like this:
>
> (((dynamic)dyndist).hits.hits[1]).Value._source.Id
> This works great and if I put a 2 there it works and returns the second 
> item.
>
> Ok that's all well and good however.  I cannot do something like this:
>
> var dyndist = new Elasticsearch.Net.DynamicDictionary();
> dyndist = searchResponse.Response;
> long maxhit;
> maxhit = ((dynamic)dyndist).hits.total.Value;  //this does get the # of 
> hits
> for (int hitpos = 1 ; hitpos <= maxhit; hitpos ++)
> {
>   //just creating a string here but I would 
>     theid = theid + ":" + 
> (((dynamic)dyndist).hits.hits[hitpos]).Value._source.Id;  //id is my id not 
> the id from ElasticSearch
> }
>
> I get this error:
>
> An unhandled exception of type 
> 'Microsoft.CSharp.RuntimeBinder.RuntimeBinderException' occurred in 
> System.Core.dll
> Additional information: Cannot perform runtime binding on a null reference
>
> If I switch that hitpos to a 1 it works fine and returns the 1 value.  i 
> want to get them all somehow.. 
>
> Any ideas. 
>
> I tried converting to a List but only .Values is a List seems I can't 
> convert hits.hits.  Stuck here for now :-(
>
>
> On Monday, January 12, 2015 at 10:37:00 PM UTC-5, GWired wrote:
>
>> Ok that worked.  Sort of.  I can see the results in the response now. 
>>
>> However I'm not able to refer to hits.  I can see them but there isn't a 
>> hit or hits type to refer to so I can see what is in a hit.  
>>
>> string? myid = searchResponse.Response.hits.hits[1].nestedObject["id"
>> ].myid
>> Doesn't work.  
>>
>> Trying to follow this guide here 
>> http://nest.azurewebsites.net/elasticsearch-net/handling-responses.html
>> and hits isn't a member/method or type.
>>
>> When I try to refer to hits i get this...
>>
>> Error 2 'Elasticsearch.Net.DynamicDictionary' does not contain a 
>> definition for 'hits' and no extension method 'hits' accepting a first 
>> argument of type 'Elasticsearch.Net.DynamicDictionary' could be are you 
>> missing a using directive or an assembly 
>> reference?) C:\pathtoproject\main.cs 56 52 SearchTest
>>
>> On Saturday, January 10, 2015 at 6:27:03 AM UTC-5, Steve Flook wrote:
>>
>>> I think you are just getting unlucky.  You are asking for the top 10 
>>> results, starting *after *result number 10.  Only problem is the search 
>>> response is saying there is only 10 results total, so there are no hits to 
>>> return.
>>>
>>> Try changing your from to 0, instead of 1 * 10.  Or you can just omit 
>>> that all together, as ES will default to 0.
>>>
>>> If you are coming from the world of sql, one difference in simple 
>>> queries is ES gives back the total number of results with that total 
>>> property you see in the response's hits section.  So even if you ask 
>>> for only 10 documents, total will give you the full count no matter 
>>> what.
>>>
>>> Steve
>>>
>>> On Friday, January 9, 2015 at 12:43:36 PM UTC-5, Garrett Johnson wrote:
>>>>
>>>> Hi All,
>>>>
>>>> I would like to use Elasticsearch.Net (NEST requires types and I do not 
>>>> want strong types) to do a simple _all term search.  I can do this using 
>>>> the plugin elasticsearch head and I retrieve the appropriate documents.  
>>>> Here is some simple code I wrote just to say hey give me all that match.
>>>>
>>>> var node = new Uri(http://myhost:9200);
>>>>
>>>> var config = new ConnectionConfiguration(node); 
>>>>
>>>> var exposed = config.ExposeRawResponse(true);
>>>>
>>>> var client = new ElasticsearchClient(config);
>>>>
>>>> var search = new
>>>>
>>>> {
>>>>
>>>> size = 10,
>>>>
>>>> from = 1 * 10,
>>>>
>>>> query = new { query_string = new { query = this.textBox1.Text } },
>>>>
>>>> };
>>>>
>>>> var searchResponse = client.Search("jdbc",search);
>>>>
>>>> This returns these results:
>>>>
>>>> {StatusCode: 200, 
>>>>  Method: POST, 
>>>>  Url: http://u4vmeqlditapp01:9200/jdbc/_search, 
>>>>  Request: 
>>>> {"size":10,"from":10,"query":{"query_string":{"query":"Garrett"}}}, 
>>>>  Response: 
>>>> {"took":5,"timed_out":false,"_shards":{"total":5,"successful":5,"failed":0},"hits":{"total":10,"max_score":1.1672286,"hits":[]}}}
>>>>
>>>> But no documents.
>>>>
>>>> Here is the JSON I'm trying to replicate:
>>>>
>>>>
>>>>
>>>>    - "query": {
>>>>       - "bool": {
>>>>          - "must": [
>>>>             - {
>>>>                - "query_string": {
>>>>                   - "default_field": "_all",
>>>>                   - "query": "Garrett"
>>>>                }
>>>>             }
>>>>          ],
>>>>          - "must_not": [ ],
>>>>          - "should": [ ]
>>>>       }
>>>>    },
>>>>    - "from": 0,
>>>>    - "size": 25000,
>>>>    - "sort": [ ],
>>>>    - "facets": { }
>>>>
>>>>
>>>> I'm pretty sure it is because the query doesn't have the default_field 
>>>> set to _all... But I don't know how to set that.  I've tried several 
>>>> string 
>>>> concatenations to no avail.... it just searched for them.
>>>>
>>>> Any one with any ideas.  I want to simply search all types for a single 
>>>> string.
>>>>
>>>> Garrett
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>

-- 
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/fff7dbd7-2985-46d7-a816-ace1c6bf09d3%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to