Searching with Elasticsearch.Net

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+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/997e2467-78f2-4d28-af49-1bd586df0145%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

{ 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+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/c7be81ac-d3ff-4841-b458-41aae34df921%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

If all you need is querying, I will highly recommend looking at
GitHub - ElasticLINQ/ElasticLINQ: Use LINQ to query Elasticsearch with results as .NET objects for .NET

I also have my own stab at a .NET client library for Elasticsearch here:
GitHub - synhershko/NElasticsearch: An alternative Elasticsearch client for .NET, built on-the-go while working on real-world projects /
NuGet Gallery | 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 garrettcjohnson@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+unsubscribe@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=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 elasticsearch+unsubscribe@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.

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+unsubscribe@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.

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+unsubscribe@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.

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+unsubscribe@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.

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 :frowning:

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+unsubscribe@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.

-> slaps forhead

oboe... hitpos should start at 0 not 1

got my results now converting to DG :slight_smile:

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 :frowning:

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+unsubscribe@googlegroups.com.
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.