需要通配符搜索而不是elasticsearch中的特定字段名称

时间:2016-06-21 05:17:05

标签: c# elasticsearch nest kibana-4

我正在研究elasticsearch 2.3.3。在查询搜索时,仅在指定字段名称时才会获得结果。即

GET /mydocs/_search?q=file.content:cat

但我需要在不给出字段名称的情况下进行搜索。怎么可能?

来自http://localhost:9200/mydocs

的回复
 {  
 "mydocs":{  
  "aliases":{  

  },
  "mappings":{  
     "indexdocument":{  
        "properties":{  
           "docLocation":{  
              "type":"string",
              "index":"not_analyzed",
              "store":true
           },
           "documentType":{  
              "type":"string",
              "store":true
           },
           "file":{  
              "type":"attachment",
              "fields":{  
                 "content":{  
                    "type":"string",
                    "analyzer":"full"
                 },
                 "author":{  
                    "type":"string"
                 },
                 "title":{  
                    "type":"string",
                    "term_vector":"with_positions_offsets",
                    "analyzer":"full"
                 },
                 "name":{  
                    "type":"string"
                 },
                 "date":{  
                    "type":"date",
                    "format":"strict_date_optional_time||epoch_millis"
                 },
                 "keywords":{  
                    "type":"string"
                 },
                 "content_type":{  
                    "type":"string"
                 },
                 "content_length":{  
                    "type":"integer"
                 },
                 "language":{  
                    "type":"string"
                 }
              }
           },
           "filePermissionInfo":{  
              "properties":{  
                 "accessControlType":{  
                    "type":"string",
                    "store":true
                 },
                 "accountValue":{  
                    "type":"string",
                    "store":true
                 },
                 "fileSystemRights":{  
                    "type":"string",
                    "store":true
                 },
                 "isInherited":{  
                    "type":"string",
                    "store":true
                 }
              }
           },
           "id":{  
              "type":"double",
              "store":true
           },
           "lastModifiedDate":{  
              "type":"date",
              "store":true,
              "format":"strict_date_optional_time||epoch_millis"
           },
           "title":{  
              "type":"string",
              "store":true,
              "term_vector":"with_positions_offsets"
           }
        }
     }
  },
  "settings":{  
     "index":{  
        "creation_date":"1466482894271",
        "analysis":{  
           "filter":{  
              "snowball":{  
                 "type":"snowball",
                 "language":"English"
              }
           },
           "analyzer":{  
              "full":{  
                 "filter":[  
                    "lowercase",
                    "snowball"
                 ],
                 "type":"custom",
                 "tokenizer":"standard"
              }
           }
        },
        "number_of_shards":"5",
        "number_of_replicas":"1",
        "uuid":"PpxcRl29QTCPtFcsd3PHtw",
        "version":{  
           "created":"2030399"
        }
     }
  },
  "warmers":{  

  }
 }
}

1 个答案:

答案 0 :(得分:0)

根据@ RussCam的评论,设置index.query.default_field将有助于进行默认字段搜索 要使用Nest客户端进行设置,请参阅以下链接 Set index.query.default_field using NEST Client c#