Kir*_*ran 3 search elasticsearch amazon-elasticsearch
在 Elasticsearch 上工作,我的用例非常简单。当用户在搜索框中键入时,我想搜索我的所有数据集,而不管字段或列或任何条件(搜索所有数据并提供文档中所有出现的搜索词)。这可能在他们的文档中可用,但我无法理解。有人可以解释一下吗?
搜索索引中所有字段的最简单方法是使用_all 字段。
_all 字段是一个包罗万象的字段,它将所有其他字段的值连接成一个大字符串,使用空格作为分隔符,然后对其进行分析和索引,但不存储。
例如:
PUT my_index/user/1
{
"first_name": "John",
"last_name": "Smith",
"date_of_birth": "1970-10-24"
}
GET my_index/_search
{
"query": {
"match": {
"_all": "john smith 1970"
}
}
}
Run Code Online (Sandbox Code Playgroud)
支持突出显示,因此可以在搜索结果中返回匹配项。
这种方法有两个主要缺点:
更好的方法是禁用 _all 字段,而是列出您感兴趣的字段:
GET /_search
{
"query": {
"query_string" : {
"query" : "this AND that OR thus",
"fields":[
"name",
"addressline1",
"dob",
"telephone",
"country",
"zipcode"
]
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2193 次 |
| 最近记录: |