Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

653
Visualizações
ElasticSearch NEST Search Multiple Types & All Fields

Using ElasticSearch NEST, I am having trouble getting expected results back from my queries. My index/type layout is as follows:

  • theatres (index)
    • event (types)
    • theatre
    • promotion
    • generic content

Each of those types have their own fields, and I am using NEST's Index() method to index the data. I can verify that it's being indexed properly by:

  • Looking at http://localhost:9200/theatres/_mapping
  • Using the Head plugin to view data

For reference, here is my client configuration:

// TODO: Put settings in config
var node = new Uri("http://localhost:9200");
var connSettings = new ConnectionSettings(node);
connSettings.SetDefaultIndex("theatres");
connSettings.ThrowOnElasticsearchServerExceptions();

var client = new ElasticClient(connSettings);

The Query

Now, for the query, I want to search all types and all fields within the index. Using the Head plugin, I am able to generate the query and get the expected results: enter image description here

Using that query that it generated, I tried the following NEST query:

var query = "waukesha"; // This would be passed in

var resp = client.Search<dynamic>(s => s
   .From(0)
   .Take(10)
   .Query(qry => qry
       .Bool(b => b
       .Must(m => m
           .QueryString(qs => qs
               .DefaultField("_all")
               .Query(query))))));

However, this gives me a different result. Is NEST doing something behind the scenes that I'm not aware of? Or is this not supported?

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

Your query is missing .AllTypes()

You can also specify multiple types using .Types("type1", "type1")

So:

var query = "waukesha"; // This would be passed in

var resp = client.Search<dynamic>(s => s
   .AllTypes()
   .From(0)
   .Take(10)
   .Query(qry => qry
       .Bool(b => b
       .Must(m => m
           .QueryString(qs => qs
               .DefaultField("_all")
               .Query(query))))));
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda