1

コマンドの実行:

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プラグインを使用して同じクエリを実行すると、正常に機能します。

MacOSXでelasticsearch0.20.2を使用しています。次のコマンドを使用してelasticsearchを開始しています。

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"
        }
4

1 に答える 1

4

小文字のインデックス名を使用するようにしてください。

それは機能しますか?

そうでない場合は、索引付けされたドキュメントとマッピングを提供できますか?

更新: デフォルトのアナライザーを使用するため、フィールドは小文字のトークンに分割されます。TermFilter は解析されていないため、一致しません。

TermFilter を小文字にするか、分析される MatchQuery を使用するか、マッピングを変更してフィールドを not_analyzed に設定することができます。

于 2013-01-17T20:15:10.177 に答える