2016-04-14 75 views
0

如果有人可以提供帮助吗? 1.全文搜索查询,其中标题和描述都是顶级域ElasticSearch - 在嵌套字段上进行全文本搜索

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? 

回答

0

使用mustnested 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

但如何分析这句话“的称号:计算机和抽象。内容:记忆”。或者可能有一些复杂的短语,例如: - “((title:computer AND description:electronics OR(serialNum:123 AND misc:test))OR server” – sanesearch

+0

你不能在同一个query_string中夹入嵌套和非嵌套字段。所有嵌套的字段在一个查询中并且不嵌套在其他查询中,并且根据需要在两者之间应用“必须”或“应该” – Richa

相关问题