elasticsearch - Elastic Search查询不适用于curl

标签 elasticsearch

运行命令:

curl -XGET http://127.0.0.1:9200/30556/_search -d '{
    "query": {
        "constant_score" : {
            "filter" : {
                "term" : { "portal_type" : "Folder"}
            }
        }
    }
}'

产生0个结果。输出为:
{"took":1,"timed_out":false,"_shards":{"total":5,"successful":5,"failed":0},"hits":{"total":0,"max_score":null,"hits":[]}}

如果确实如此,我无法获得任何查询来产生结果。

但是,当我使用head插件运行相同的查询时,它运行良好。

我在Mac OS X上使用Elasticsearch 0.20.2。我正在使用以下命令启动 flex 搜索:
bin/elasticsearch -f

有什么明显的我想念的东西吗?好像我的语法正确,没有任何错误。

对应:
{
  "30556": {
    "portal_catalog": {
      "properties": {
        "CreationDate": {
          "type": "date",
          "format": "dateOptionalTime"
        },
        "Creator": {
          "type": "string"
        },
        "Date": {
          "type": "date",
          "format": "dateOptionalTime"
        },
        "Description": {
          "type": "string"
        },
        "ModificationDate": {
          "type": "date",
          "format": "dateOptionalTime"
        },
        "SearchableText": {
          "type": "string"
        },
        "Title": {
          "type": "string"
        },
        "Type": {
          "type": "string"
        },
        "UID": {
          "type": "string"
        },
        "allowedRolesAndUsers": {
          "type": "string"
        },
        "created": {
          "type": "date",
          "format": "dateOptionalTime"
        },
        "effective": {
          "type": "date",
          "format": "dateOptionalTime"
        },
        "effectiveRange": {
          "dynamic": "true",
          "properties": {
            "effectiveRange1": {
              "type": "date",
              "format": "dateOptionalTime"
            },
            "effectiveRange2": {
              "type": "date",
              "format": "dateOptionalTime"
            }
          }
        },
        "exclude_from_nav": {
          "type": "boolean"
        },
        "expires": {
          "type": "date",
          "format": "dateOptionalTime"
        },
        "getId": {
          "type": "string"
        },
        "getObjPositionInParent": {
          "type": "long"
        },
        "getObjSize": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "is_default_page": {
          "type": "boolean"
        },
        "is_folderish": {
          "type": "boolean"
        },
        "listCreators": {
          "type": "string"
        },
        "meta_type": {
          "type": "string"
        },
        "modified": {
          "type": "date",
          "format": "dateOptionalTime"
        },
        "object_provides": {
          "type": "string"
        },
        "path": {
          "dynamic": "true",
          "properties": {
            "depth": {
              "type": "long"
            },
            "path": {
              "type": "string"
            }
          }
        },
        "portal_type": {
          "type": "string"
        },
        "review_state": {
          "type": "string"
        },
        "sortable_title": {
          "type": "string"
        },
        "total_comments": {
          "type": "long"
        }
      }
    }
  }
}

索引文件示例:
{
        "_index": "30556",
        "_type": "portal_catalog",
        "_id": "30613",
        "_score": 1,
        "_source": {
          "sortable_title": "news",
          "exclude_from_nav": false,
          "meta_type": "ATFolder",
          "Date": "2013-01-14T09:24:56-06:00",
          "CreationDate": "2013-01-14T09:24:56-06:00",
          "path": {
            "depth": 2,
            "path": "/el/news"
          },
          "allowedRolesAndUsers": [
            "Anonymous"
          ],
          "portal_type": "Folder",
          "id": "news",
          "UID": "3116b6c7ec384a9393f238fdde778612",
          "expires": "2499-12-31T00:00:00-06:00",
          "Subject": [],
          "is_folderish": true,
          "is_default_page": false,
          "effectiveRange": {
            "effectiveRange1": "1000-01-01T00:00:00-06:00",
            "effectiveRange2": "2499-12-31T00:00:00-06:00"
          },
          "commentators": [],
          "created": "2013-01-14T09:24:56-06:00",
          "getRawRelatedItems": [],
          "cmf_uid": [],
          "Creator": "admin",
          "end": [],
          "modified": "2013-01-14T09:24:56-06:00",
          "Description": "Site News",
          "ModificationDate": "2013-01-14T09:24:56-06:00",
          "total_comments": 0,
          "in_reply_to": [],
          "getIcon": "",
          "effective": "1000-01-01T00:00:00-06:00",
          "SearchableText": "news  News  Site News ",
          "getObjPositionInParent": 61,
          "object_provides": [
            "collective.syndication.interfaces.ISyndicatable",
            "Products.ATContentTypes.interfaces.folder.IATFolder",
            "Products.CMFCore.interfaces._content.IContentish",
            "z3c.relationfield.interfaces.IHasIncomingRelations",
            "webdav.interfaces.IWriteLock"
          ],
          "last_comment_date": null,
          "review_state": "published",
          "start": [],
          "Type": "Folder",
          "listCreators": [
            "admin"
          ],
          "getId": "news",
          "getObjSize": "1 kB",
          "Title": "News"
        }

最佳答案

尝试使用小写索引名称。

它行得通吗?

如果没有,您能否提供索引的文档和映射(如果有)?

更新:
您使用默认分析器,因此您的字段分为小写的标记。
未分析TermFilter,因此不匹配。

您可以小写TermFilter或使用已分析的MatchQuery或更改映射并将字段设置为not_analyzed。

关于elasticsearch - Elastic Search查询不适用于curl,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14386053/

相关文章:

elasticsearch - Elasticsearch :索引文件对象

java - 如何确定 Java 堆是否正在使用压缩指针以及是否驻留在内存中的地址 0?

java - 如何使用 Elasticsearch 的 java api 调用 Groovy 脚本

elasticsearch - 有没有办法检索(ElasticSearch)NEST 查询中的所有记录?

elasticsearch - Logstash:TypeError:没有将nil隐式转换为字符串

elasticsearch - 如何查询 Elasticsearch 自动完成字段,并仅返回某些结果?

elasticsearch - 如何在 Elasticsearch 中索引数据

elasticsearch - search_after 如何在 Elasticsearch 中工作?

elasticsearch - 如何在kibana中实时在 map 上绘制坐标

elasticsearch - Elasticsearch Watcher 中的错误查询