发布于 2014-12-22 23:47:47 | 93 次阅读 | 评论: 0 | 来源: 网友投递
Apache JackRabbit
Apache JackRabbit是一个开放源码的JSR-170 实现,实现了Level 2,但它还有许多扩展的功能。
Apache Jackrabbit Oak 1.0.9 发布,此版本现已提供下载,更新内容如下:
Changes in Oak 1.0.9
--------------------
新特性
[OAK-2261] - Enable support for NodeType based indexing rules
[OAK-2268] - Support index time Aggregation of repository nodes
[OAK-2278] - Same Lucene index to support both property restrictions and fulltext constraints
Bug 修复
[OAK-1693] - "like '%'" does not use an index
[OAK-1707] - RestrictionProviderImpl returns empty pattern if all supported restrictions are set
[OAK-1782] - DiffCache not populated after cache miss
[OAK-1916] - NodeStoreKernel doesn't handle array properties correctly
[OAK-1988] - Confusing debug message about old revision access
[OAK-2000] - Observation events accessibility not checked correctly
[OAK-2015] - PermissionStore doesn't reflect dynamic nature of jcr:all
[OAK-2077] - Improve the resilence of the OrderedIndex for dangling links
[OAK-2095] - ClassCastException in NodeDocument
[OAK-2140] - Segment Compactor will not compact binaries > 16k
[OAK-2192] - Concurrent commit during compaction results in mixed segments
[OAK-2249] - Query with mixed full-text, "and", "or" conditions fails
[OAK-2250] - Lucene Index property definition is ignored if its not in includePropertyNames config
[OAK-2254] - Observation events accessibility check should respect session refresh settings
[OAK-2256] - MemoryNodeBuilder NPE on base() following root refresh
[OAK-2259] - SegmentBlob equals check should verify compaction in both directions
[OAK-2260] - TarMK Cold Standby can corrupt bulk segments
[OAK-2271] - Compaction estimation time should not depend on number of checkpoints
[OAK-2288] - DocumentNS may expose branch commit on earlier revision
[OAK-2289] - Async indexer checkpoints not cleaned up under heavy load
[OAK-2297] - Update for absent document may throw NPE
[OAK-2308] - Incorrect recovery of _lastRev for branch commit
[OAK-2315] - Index cost is sometimes negative
[OAK-2317] - UserValidator: Detect nested authorizables introduced by change of primary type
[OAK-2318] - DocumentNodeStore.diffManyChildren() reads too many nodes
[OAK-2320] - Wrong optimization for joins with ISDESCENDANTNODE conditions
[OAK-2322] - Compaction estimation includes all data segments
[OAK-2327] - DataStoreBlobStore should log exception thrown while reading inputstream
[OAK-2328] - add logging in OrderedContentMirrorStorateStrategy for better investigation
[OAK-2330] - Field boost not working if the property for indexing is picked using aggregate index rules
[OAK-2332] - LIRS cache: deadlock if a value loader access the cache
[OAK-2335] - IndexPlanner does not return plan for mixin based queries
[OAK-2336] - NodeDocument.getNodeAtRevision() may read too many revisions
[OAK-2345] - Diff reads too many nodes
[OAK-2347] - TarMK Cold Standby FSDS mirroring
[OAK-2355] - TarMK Cold Standby expose standby read timeout value
[OAK-2356] - Logic for writing properties in SegmentWriter.writeNode looks off
改进
[OAK-1609] - Configurable property exclusions for SolrIndexEditor and SolrQueryIndex
[OAK-1681] - Clarify contract of NodeBuilder.isReplaced()
[OAK-1706] - Add RestrictionProvider#getPattern(String,Set<Restriction>)
[OAK-1723] - Text content should not be stored as part of Index data
[OAK-1830] - DocumentNodeStore code robustness when persistence
inconsistent
[OAK-2031] - MemoryNodeBuilder#set only works on root builders
[OAK-2178] - Lucene index boosting on certain fields
[OAK-2190] - Support for like query for string
[OAK-2205] - Allow native query to be run against specifc property index
[OAK-2218] - Allow SegmentNodeBuilder to provide child builders of the
same type
[OAK-2241] - Support native queries for non-full-text indexes
[OAK-2253] - Index node only if configured property changed
[OAK-2293] - Add checkpoint management for MongoMK
[OAK-2302] - Simplify query debugging with MDC
[OAK-2306] - Path restriction evaluation support within LucenIndex
[OAK-2309] - Persistent cache: config option for autoCompact
[OAK-2321] - Provide details in log when reindexing is completed by
AsyncIndexUpdate
[OAK-2326] - Debug logging for merge failures
[OAK-2342] - Clean up collision markers
[OAK-2350] - Improve performance of user query with scope set
[OAK-2351] - Property name regex should only be applied on property name
[OAK-2361] - MBean to expose DocumentNodeStore runtime state
Tasks
[OAK-2305] - Merge OAK-2202 into the 1.0 branch
[OAK-2352] - Release oak-run as part of Oak release
Sub-tasks
[OAK-2136] - remove RDB support from 1.0 branch
[OAK-2270] - Resolve usage of ImmutableTree wrt OSGi constraints
[OAK-2272] - Compatibility support for pre index rule configuration
[OAK-2276] - Support for index format version
[OAK-2277] - Field for analyzed field should use different name
[OAK-2279] - Add testMode support in IndexPlanner
[OAK-2280] - Support path restriction in IndexPlanner
[OAK-2282] - Make current testcases pass with new index implementation
[OAK-2283] - Fix inconsistent handling of includedPropertyTypes
[OAK-2286] - Extract text from binaries in SolrIndexEditor if no binary
specific field is provided
[OAK-2298] - LuceneIndex should provide correct cost based on index size
[OAK-2353] - Support for "order by jcr:score descending" in lucene
property index
更多内容请看 issues 列表。
Apache Jackrabbit 是由 Apache Foundation 提供的 JSR-170 的开放源码实现..
随着内容管理应用程序的日益普及,对用于内容仓库的普通、标准化 API 的需求已凸现出来。Content Repository for Java Technology API (JSR-170) 的目标就是提供这样一个接口。JSR-170 的一个主要优点是,它不绑定到任何特定的底层架构。例如,JSR-170 实现的后端数据存储可以是文件系统、WebDAV 仓库、支持 XML 的系统,甚至还可以是 SQL 数据库。此外,JSR-170 的导出和导入功能允许一个集成器在内容后端与 JCR 实现之间无缝地切换。