我需要获取old
字段包含子字符串Description
的文档。这是我的查询:
28/859
我得到的文件有:
{
"explain": true,
"query": {
"bool":{
"filter":{
"bool":{"should":[{"query_string":{"default_field":"Description","query":"28//859",
"analyzer": "keyword"}}]}},
"must_not":{"exists":{"field":"ParentId"}}}
}
}
在28/859
字段中(很好)Description
字段中的28
获得了文档(我不需要)如何获取仅包含子字符串Description
的文档?
更新:说明示例:
28/859
答案 0 :(得分:1)
您可以为此使用whitespace
分析器。使用description
属性创建/更新您的映射,如下所示:
{
"description": {
"type": "text",
"analyzer": "whitespace"
}
}
这将确保将类似28/859的内容视为单个令牌。您甚至可以使用正则表达式创建自己的自定义标记生成器/分析器。然后,您可以使用下面的查询获取所需的结果:
{
"query": {
"query_string": {
"default_field": "description",
"query": "28\\/859"
}
}
}
答案 1 :(得分:0)
Match_Phrase应该满足要求。
示例代码:
GET <indexname>/_search
{
"query": {
"bool": {
"must": [
{
"match_phrase": {
"Description": """28/859"""
}
}
]
}
}
}