{ "info": { "author": "Andreas Gabriel", "author_email": "gabriel@hrz.uni-marburg.de", "bugtrack_url": null, "classifiers": [ "Framework :: Plone", "Framework :: Zope2", "Programming Language :: Python", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "Introduction\n============\n\nCompositeIndex is a plugin index for the ZCatalog. Indexes\ncontaining more than one attribute to index an object are called\n\"composite index\". Such indexes should be created if you expect to run\nqueries that will have multiple attributes in the search phrase and\nall attributes combined will give significantly less hits than the any\nof the attributes alone. The key of a composite index is called\n\"composite key\" and is composed of two or more attributes of an\nobject.\n\nCatalog queries containing attributes managed by CompositeIndex\nare transparently catched and transformed into a CompositeIndex query\n(monkey patch). In particular, large sites with a combination of\nadditional indexes (FieldIndex, KeywordIndex) and lots of content\n(>100k) will profit. The expected performance enhancement for catalog\nqueries is about a factor of >2-3.\n\nStatistics\n==========\n\n\n.. figure:: https://svn.plone.org/svn/collective/unimr.compositeindex/trunk/docs/stats-plot.png\n :alt: Ratio of Calculation Time bet. Atomic- and Composite Index \n\n Ratio of Calculation Time between Atomic- and Composite Index queries.\n\n The plot shows that the performance of CompositeIndex increases\n significantly with increasing number of indexed objects (>1000\n catalog entries) and with increasing number of combined\n attributes. The hit rate of the queries was about 6% for two\n combined attributes and 1% for three combined attributes of the\n total number of catalog entries. For uniform comparability, the\n ZODB cache was cleared before each query.\n \n\nUsage\n=====\n\nFrom the ZCatalog indexes tab, add an index of type CompositeIndex.\n\nId\n pick any valid id you like\n\n\nComposite key\n names of attributes to concatenate\n\n\nExample for Plone's portal_catalog\n==================================\n\nMany catalog queries in plone are based on the combination of indexed\nattributes as follows: is_default_page, review_state, portal_type and\nallowedRolesAndUsers. Normally, the ZCatalog sequentially executes\neach corresponding atomic index and calculates intersection between each\nresult. This strategy, in particular for large sites, decreases the\nperformance of the catalog and simultaneously increases the volatility\nof ZODB's object cache, because each index individually has a high\nnumber of hits whereas the the intersection between each index result\nhas a low number of hits.\n\nCompositeIndex overcomes this difficulty because it already contains a\npre-calculateted intersection by means of its composite keys. The\nloading of large sets and the following expensive computation of the\nintersection is therefore obsolete.\n\nHere we show a configuration example for plone. From the portal_catalog\nindexes tab, add a index of type CompositeIndex.\n\n Id: comp01\n\n Composite key: is_default_page,review_state,portal_type,allowedRolesAndUsers\n\n\nReindex the CompositeIndex \"comp01\".\n\n\nNow each query which contains two ore more components of the composite\nkey is automatically transformed into a query on the CompositeIndex\n\"comp01\".\n\nChangelog\n=========\n\n0.1 - rc1\n----------------\n\n* Initial release", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://svn.plone.org/svn/collective/unimr.compositeindex", "keywords": "Catalog ZCatalog Composite Index", "license": "ZPL", "maintainer": null, "maintainer_email": null, "name": "unimr.compositeindex", "package_url": "https://pypi.org/project/unimr.compositeindex/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/unimr.compositeindex/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://svn.plone.org/svn/collective/unimr.compositeindex" }, "release_url": "https://pypi.org/project/unimr.compositeindex/0.1rc1-r84937/", "requires_dist": null, "requires_python": null, "summary": "Composite index for the Catalog", "version": "0.1rc1-r84937" }, "last_serial": 801227, "releases": { "0.1dev-r84057": [ { "comment_text": "", "digests": { "md5": "f8ef52b1857416e8dbe5ed0b8676b690", "sha256": "57c5965f03253ef31c81c75778be4e3d62e74384bd16efa5f4f36c9e415e891c" }, "downloads": -1, "filename": "unimr.compositeindex-0.1dev_r84057-py2.4.egg", "has_sig": false, "md5_digest": "f8ef52b1857416e8dbe5ed0b8676b690", "packagetype": "bdist_egg", "python_version": "2.4", "requires_python": null, "size": 25881, "upload_time": "2009-04-09T18:30:05", "url": "https://files.pythonhosted.org/packages/8c/01/826c243cc291cad26eee02a994f89174b2a8257526cad59e296df0bda3a9/unimr.compositeindex-0.1dev_r84057-py2.4.egg" }, { "comment_text": "", "digests": { "md5": "a7e313c3d79a8775317ad89925e219a9", "sha256": "b0b8f66365ae7b722db7939f03598d239a15ade7854f4896079c2e1e997737f9" }, "downloads": -1, "filename": "unimr.compositeindex-0.1dev-r84057.tar.gz", "has_sig": false, "md5_digest": "a7e313c3d79a8775317ad89925e219a9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17227, "upload_time": "2009-04-09T18:30:15", "url": "https://files.pythonhosted.org/packages/1b/58/39a5a64ca534687bc82abd2afdd5e8e77e3ece5e08de30c9bea307b8c5b6/unimr.compositeindex-0.1dev-r84057.tar.gz" } ], "0.1dev-r84257": [ { "comment_text": "", "digests": { "md5": "a18806057520bdec28f371a3cecd4ef1", "sha256": "bc8ff1fe0777dc89148b42e606f0dc679a9aa023b0bbfe8d7b9349db4aaac91f" }, "downloads": -1, "filename": "unimr.compositeindex-0.1dev_r84257-py2.4.egg", "has_sig": false, "md5_digest": "a18806057520bdec28f371a3cecd4ef1", "packagetype": "bdist_egg", "python_version": "2.4", "requires_python": null, "size": 29255, "upload_time": "2009-04-15T13:12:59", "url": "https://files.pythonhosted.org/packages/37/dd/5dcc4ceb0e8f7e154bf762588dcc5cdd7844b32f4605269dc63e9dd28d67/unimr.compositeindex-0.1dev_r84257-py2.4.egg" }, { "comment_text": "", "digests": { "md5": "418baee23dcaf5a28baa8799f4b61e42", "sha256": "6d6c50b7f376033e86ca9d46b3338f47747970410104202ca6e371f3dc6aa8e6" }, "downloads": -1, "filename": "unimr.compositeindex-0.1dev-r84257.tar.gz", "has_sig": false, "md5_digest": "418baee23dcaf5a28baa8799f4b61e42", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 43898, "upload_time": "2009-04-15T13:13:06", "url": "https://files.pythonhosted.org/packages/cc/93/fecc9d07a1514334cbba8a83343661d21834a8176975f6742850d7f11c36/unimr.compositeindex-0.1dev-r84257.tar.gz" } ], "0.1rc1": [ { "comment_text": "", "digests": { "md5": "5dd433f324719e57d816aad1ef3bd705", "sha256": "7e95836bdbcf92d594280bc304044a514a14d899acbec41c669d4214b04b748f" }, "downloads": -1, "filename": "unimr.compositeindex-0.1rc1-py2.4.egg", "has_sig": false, "md5_digest": "5dd433f324719e57d816aad1ef3bd705", "packagetype": "bdist_egg", "python_version": "2.4", "requires_python": null, "size": 29251, "upload_time": "2009-04-15T13:37:04", "url": "https://files.pythonhosted.org/packages/b5/d9/6f8a630a731d289628d9bc3716ecd3fdd54ee0fe67e4f51a9764cac197ce/unimr.compositeindex-0.1rc1-py2.4.egg" }, { "comment_text": "", "digests": { "md5": "d0bdfca8a44d3256ebb01f607a07d6d1", "sha256": "c9be1c4ac3e080ede693d546169fec086e7a9dd2487358f61a8d1135d52dc73f" }, "downloads": -1, "filename": "unimr.compositeindex-0.1rc1.tar.gz", "has_sig": false, "md5_digest": "d0bdfca8a44d3256ebb01f607a07d6d1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 44950, "upload_time": "2009-04-15T13:36:56", "url": "https://files.pythonhosted.org/packages/1d/ad/1cea82bec2c8ab7172d3e9d7bdcb04b980f83e5f8929a7e2a658aa5cbf77/unimr.compositeindex-0.1rc1.tar.gz" } ], "0.1rc1-r84937": [ { "comment_text": "", "digests": { "md5": "8bf4fab38dc92b4847bc8dcaae01810c", "sha256": "acb14953b3bf641980723d6ac237531676062fe6ace2365c99e5d3e49f3ccb5c" }, "downloads": -1, "filename": "unimr.compositeindex-0.1rc1_r84937-py2.4.egg", "has_sig": false, "md5_digest": "8bf4fab38dc92b4847bc8dcaae01810c", "packagetype": "bdist_egg", "python_version": "2.4", "requires_python": null, "size": 29406, "upload_time": "2009-04-23T13:21:52", "url": "https://files.pythonhosted.org/packages/ba/b0/733fa74d21f6f7334b2a2f0b22e37fad26c4926504ebc427bdba55dbf981/unimr.compositeindex-0.1rc1_r84937-py2.4.egg" }, { "comment_text": "", "digests": { "md5": "be7aef57e3479ec4b4e5a8e609d32598", "sha256": "27b110d44d5468091fb4acb15f9aead72fd64153d80ab7b00c741c385c90f7df" }, "downloads": -1, "filename": "unimr.compositeindex-0.1rc1-r84937.tar.gz", "has_sig": false, "md5_digest": "be7aef57e3479ec4b4e5a8e609d32598", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 42527, "upload_time": "2009-04-23T13:21:33", "url": "https://files.pythonhosted.org/packages/ce/07/81fb716289036570063c7c534f1b7e3b3a67d85b82e498b9762408e98ac8/unimr.compositeindex-0.1rc1-r84937.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "8bf4fab38dc92b4847bc8dcaae01810c", "sha256": "acb14953b3bf641980723d6ac237531676062fe6ace2365c99e5d3e49f3ccb5c" }, "downloads": -1, "filename": "unimr.compositeindex-0.1rc1_r84937-py2.4.egg", "has_sig": false, "md5_digest": "8bf4fab38dc92b4847bc8dcaae01810c", "packagetype": "bdist_egg", "python_version": "2.4", "requires_python": null, "size": 29406, "upload_time": "2009-04-23T13:21:52", "url": "https://files.pythonhosted.org/packages/ba/b0/733fa74d21f6f7334b2a2f0b22e37fad26c4926504ebc427bdba55dbf981/unimr.compositeindex-0.1rc1_r84937-py2.4.egg" }, { "comment_text": "", "digests": { "md5": "be7aef57e3479ec4b4e5a8e609d32598", "sha256": "27b110d44d5468091fb4acb15f9aead72fd64153d80ab7b00c741c385c90f7df" }, "downloads": -1, "filename": "unimr.compositeindex-0.1rc1-r84937.tar.gz", "has_sig": false, "md5_digest": "be7aef57e3479ec4b4e5a8e609d32598", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 42527, "upload_time": "2009-04-23T13:21:33", "url": "https://files.pythonhosted.org/packages/ce/07/81fb716289036570063c7c534f1b7e3b3a67d85b82e498b9762408e98ac8/unimr.compositeindex-0.1rc1-r84937.tar.gz" } ] }