ElasticSearch - 在嵌套字段上进行全文本搜索
问题描述:
如果有人可以提供帮助吗? 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?
答
使用must
和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"
}
}
}
}
]
}
}
}
但如何分析这句话“的称号:计算机和抽象。内容:记忆”。或者可能有一些复杂的短语,例如: - “((title:computer AND description:electronics OR(serialNum:123 AND misc:test))OR server” – sanesearch
你不能在同一个query_string中夹入嵌套和非嵌套字段。所有嵌套的字段在一个查询中并且不嵌套在其他查询中,并且根据需要在两者之间应用“必须”或“应该” – Richa