Re: Searching with Elasticsearch.Net

2015-01-13 Thread GWired
- 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 

Re: Searching with Elasticsearch.Net

2015-01-13 Thread GWired
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 elasticsearch+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/elasticsearch/f4d6beb4-601c-4460-9a61-2850a8f00800%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Searching with Elasticsearch.Net

2015-01-12 Thread Garrett Johnson
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 elasticsearch+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/elasticsearch/2d83b245-5eef-4948-b1f1-df0a5cbf1950%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Searching with Elasticsearch.Net

2015-01-12 Thread Garrett Johnson
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:\Users\Garrett_Johnson\documents\visual studio 
2013\Projects\SearchTest\SearchTest\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 elasticsearch+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/elasticsearch/ef61025c-a740-4c90-b514-0f823bdd0b07%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Searching with Elasticsearch.Net

2015-01-10 Thread Steve Flook
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 elasticsearch+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/elasticsearch/b4c0a2ac-acdb-43fb-a238-88520a4c1be5%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Searching with Elasticsearch.Net

2015-01-09 Thread Itamar Syn-Hershko
If all you need is querying, I will highly recommend looking at
https://github.com/CenturyLinkCloud/ElasticLINQ for .NET

I also have my own stab at a .NET client library for Elasticsearch here:
https://github.com/synhershko/NElasticsearch /
https://www.nuget.org/packages/NElasticsearch/1.0.14 (still WIP)

--

Itamar Syn-Hershko
http://code972.com | @synhershko https://twitter.com/synhershko
Freelance Developer  Consultant
Author of RavenDB in Action http://manning.com/synhershko/

On Fri, Jan 9, 2015 at 7:54 PM, Garrett Johnson garrettcjohn...@gmail.com
wrote:

 { query = this.textBox1.Text,

 default_field = _all

 },

 This seems to send it.  Still don't know how to get the results.

 It's like it should be in a foreach(hit in hits) {get fields}  but I have
 nothing and documentation isn't helping.


 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 elasticsearch+unsubscr...@googlegroups.com.
 To view this discussion on the web visit
 https://groups.google.com/d/msgid/elasticsearch/c7be81ac-d3ff-4841-b458-41aae34df921%40googlegroups.com
 https://groups.google.com/d/msgid/elasticsearch/c7be81ac-d3ff-4841-b458-41aae34df921%40googlegroups.com?utm_medium=emailutm_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 elasticsearch+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/elasticsearch/CAHTr4ZtOWzNT6to0H5ahDooJ-J%3DAgLhRcJxdJwUwCB3i7wjLeg%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.