2016-04-14 19 views
0

Wenn jemand helfen kann? 1. Die Volltextsuche-Abfrage, wo Titel und Beschreibung sind beide Top-Level-FelderElasticSearch - Volltextsuche in verschachtelten Feldern

GET /docidx/Document/_search 
{ 
    "query": { 
     "query_string": { 
      "query": "title:computer AND description:electronics" 
     } 
    } 
} 

This works fine. 

2. The full text search query where title is top level field but "abstract.content" i.e content is a nested field under abstract - does not return results. 

GET /docidx/Document/_search 
{ 
    "query": { 
     "query_string": { 
      "query": "title:computer AND abstract.content:memory" 
     } 
    } 
} 

Does Elastic Search has support for full text search for nested fields? 

Antwort

0

Verwenden Kombination von must und nested Query:

GET /docidx/Document/_search 
{ 
"query": { 
    "bool": { 
    "must": [ 
     { 
      "query_string": { 
       "default_field": "title", 
       "query": "computer" 
      } 
     }, 
     { 
      "nested": { 
       "path": "abstract", 
       "query": { 
       "query_string": { 
        "default_field": "abstract.content", 
        "query": "memory" 
       } 
       } 
      } 
      } 
     ] 
     } 
    } 
    } 
+0

aber wie diese Phrase „Titel analysieren: Computer und abstrakt. Inhalt: Speicher ". ODER es könnte eine komplexe Phrase wie: - "((Titel: Computer UND Beschreibung: Elektronik OR (SerialNum: 123 AND misc: test)) ODER Server" – sanesearch

+0

Sie können nicht verschachtelte und nicht geschachtelte Felder in der gleichen Query_string Club alle verschachtelten Felder innerhalb einer Abfrage und nicht verschachtelt in anderen und wenden "müssen" oder "sollte" zwischen beiden nach der Anforderung – Richa

Verwandte Themen