我在 Elasticsearch 中收集了一个数据库,我没有通过 ID 来识别它们,而是通过标题来识别它们。因此,每种类型的标题都不相同。
我尝试过,must => match_phrase
但它让我得到了不止一个回报。可能会调用"Document 1"
某些东西,也可能会调用其他东西"Document 1,2,3"
。因此,它会通过执行返回多个结果match_phrase
。
假设我有 5 个文件名为:
- 文档示例 1
- 示例 1
- 1 文档示例
- 文档示例 1 和 2
- 文档示例
我应该发送什么请求只返回例如:"Document example"
?
我尝试了这种搜索的不同变体127.0.0.1:9200/index/type/_search
:
{
"query":{
"match_phrase": {
"title":"Document example"
}
}
}
所以我想知道如何检查或搜索确切的解析并只得到一个或零个结果作为回报?
编辑
127.0.0.1:9200/myindex/mytype/_mapping
返回这个:
{
"myindex": {
"mappings": {
"mytype": {
"properties": {
"category": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"date": {
"type": "date"
},
"link": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"size": {
"type": "long"
},
"source": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"title": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
}
}
}
}
}
}