我知道使用字段设置只包括我想要搜索的字段http://www.elasticsearch.org/guide/reference/api/search/fields/
...但我想知道我是否可以做相反的事情......不知何故指定一两个我不想包含在查询结果中的字段(例如附件).当我只能指定要排除的字段时,必须输入我想要的所有字段减去一两个,这似乎很痛苦
我有一个包含多个字段的索引。我想根据除 one - user_comments之外的所有字段中是否存在搜索字符串来过滤掉。我正在做的查询搜索是
{
"from": offset,
"size": limit,
"_source": [
"document_title"
],
"query": {
"function_score": {
"query": {
"bool": {
"must":
{
"query_string": {
"query": "#{query}"
}
}
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
尽管查询字符串正在搜索所有字段,并在user_comments字段中为我提供具有匹配字符串的文档。但是,我想针对所有不包含user_comments字段的字段来查询它。白名单是一个非常大的列表,而且字段的名称是动态的,因此使用 fields 参数提及白名单字段列表是不可行的。
"query_string": {
"query": "#{query}",
"fields": [
"document_title",
"field2"
]
}
Run Code Online (Sandbox Code Playgroud)
任何人都可以提出一个关于如何从搜索中排除字段的想法吗?