elasticsearch - 应用 match_phrase 和过滤器
问题描述
致力于弹性搜索 6.4.2。我想用来match_pharse
从我的索引中获取检索结果。同样,我需要为此应用过滤器。对此的任何解决方案。我尝试了以下查询
{
"query": {
"bool": {
"should":
{
"match_phrase": {
"title": "bike riding"
}}
}
}}
但是当我使用时,match_pharse
我需要传递字段以获得结果。我正在分享我需要编辑的映射和查询。match_phrase
我可以用于查询 的任何帮助。
映射:
{
"mapping": {
"doc": {
"properties": {
"content": {
"type": "text",
"store": true,
"analyzer": "my_analyzer"
},
"description": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"domain": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"host": {
"type": "keyword",
"store": true
},
"keywords": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"seed": {
"type": "keyword",
"store": true
},
"title": {
"type": "text",
"store": true,
"analyzer": "my_analyzer"
},
"url": {
"type": "text",
"store": true
}
}
}
}
}`
查询:我怎样才能添加match_phrase
到下面的一个
{
"query": {
"bool" : {
"must" : {
"query_string" : {
"query" : "bike riding"
}
},
"filter" : {
"term" : { "seed" : "sports" }
}
}
}
}
解决方案
以下查询是您要查找的内容。
注意我是如何添加引号的"\"bike riding\""
POST <your_index_name>/_search
{
"query": {
"bool" : {
"must" : {
"query_string" : {
"query" : "\"bike riding\""
}
},
"filter" : {
"term" : { "seed": "sports" }
}
}
}
}
让我知道它是否有帮助!
推荐阅读
- discord - 有没有办法直接在 Discord.py 中获取用户消息的内容?
- python - 将特定数据导出到 csv 文件
- azure - LUIS 不支持语言环境 ar
- python - Python在同一y轴上绘制不同的变量
- java - 无对话框打印
- extjs - Ext js 有状态网格/面板/客户提供商
- javascript - Bootstrap table-hover table-striped with datatables悬停在条纹行上不起作用
- angular - 尝试使用图像选择器构建 Angular 应用程序时出错
- python - Numpy数组对:根据分数删除倍数
- python - 数据清理 - 对数据框的所有元素应用清理的问题