Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

651
Views
ElasticSearch NEST Buscar varios tipos y todos los campos

Al usar ElasticSearch NEST, tengo problemas para obtener los resultados esperados de mis consultas. Mi diseño de índice/tipo es el siguiente:

  • teatros (índice)
    • evento (tipos)
    • teatro
    • promoción
    • contenido genérico

Cada uno de esos tipos tiene sus propios campos, y estoy usando el método Index() de NEST para indexar los datos. Puedo verificar que está siendo indexado correctamente por:

  • Mirando http://localhost:9200/theatres/_mapping
  • Uso del complemento Head para ver datos

Como referencia, aquí está la configuración de mi cliente:

 // 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);

La consulta

Ahora, para la consulta, quiero buscar todos los tipos y todos los campos dentro del índice. Usando el complemento Head, puedo generar la consulta y obtener los resultados esperados:ingrese la descripción de la imagen aquí

Usando esa consulta que generó, probé la siguiente consulta NEST:

 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))))));

Sin embargo, esto me da un resultado diferente. ¿NEST está haciendo algo tras bambalinas que no conozco? ¿O esto no es compatible?

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Falta su consulta .AllTypes()

También puede especificar varios tipos usando .Types("type1", "type1")

Asi que:

 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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!