elasticsearch - 返回匹配多个通配符字符串查询的文档
问题描述
我是 Elasticsearch 的新手,非常感谢您提供这方面的帮助
在下面的查询中,我只希望返回第一个文档,而是返回两个文档。如何编写查询以在两个单独的字段上搜索两个通配符字符串,但只返回匹配的文档?
我认为目前返回的内容取决于分数,但我不需要分数。
POST /pr/_doc/1
{
"type": "Type ONE",
"currency":"USD"
}
POST /pr/_doc/2
{
"type": "Type TWO",
"currency":"USD"
}
GET /pr/_search
{
"query": {
"bool": {
"must": [
{
"simple_query_string": {
"query": "Type ON*",
"fields": ["type"],
"analyze_wildcard": true
}
},
{
"simple_query_string": {
"query": "US*",
"fields": ["currency"],
"analyze_wildcard":true
}
}
]
}
}
}
解决方案
使用下面的查询,它使用default_operator: AND
和查询字符串来获取深度信息和进一步阅读。
搜索查询
{
"query": {
"query_string": {
"query": "(Type ON*) AND (US*)",
"fields" : ["type", "currency"],
"default_operator" : "AND"
}
}
}
索引您的示例文档,它只返回您预期的文档:
"hits": [
{
"_index": "multiplequery",
"_type": "_doc",
"_id": "1",
"_score": 2.1823215,
"_source": {
"type": "Type ONE",
"currency": "USD"
}
}
]
推荐阅读
- ios - [Swift]我无法从特定 URL 获取任何 JSON 数据
- python - 返回一个数字是否为素数作为 Python 中的布尔值
- javascript - 由于滥用状态,数组未动态更新
- ffmpeg - 从实时 youtube 流中提取帧
- javascript - 为什么此代码在松散相等而不是严格相等时正确运行?
- reactjs - 无法在 HOC 中将钩子用于功能组件
- ios - iOS提交:无效二进制:禁止指令
- google-bigquery - Bigquery中的openstreet地图数据集中缺少美国几何
- javascript - ReferenceError:logInModule 未在 HTMLElement.onclick 中定义
- mysql - 在最后一步安装 Mysql 时出现问题,需要很长时间