OpenSearch/pom.xml

1905 lines
95 KiB
XML
Raw Normal View History

2011-12-05 18:05:44 -05:00
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<name>elasticsearch</name>
<modelVersion>4.0.0</modelVersion>
<groupId>org.elasticsearch</groupId>
<artifactId>elasticsearch</artifactId>
2014-01-21 11:07:39 -05:00
<version>2.0.0-SNAPSHOT</version>
2011-12-05 18:05:44 -05:00
<packaging>jar</packaging>
<description>Elasticsearch - Open Source, Distributed, RESTful Search Engine</description>
2011-12-05 18:05:44 -05:00
<inceptionYear>2009</inceptionYear>
<licenses>
<license>
<name>The Apache Software License, Version 2.0</name>
<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
<distribution>repo</distribution>
</license>
</licenses>
2011-12-05 18:05:44 -05:00
<scm>
<connection>scm:git:git@github.com:elasticsearch/elasticsearch.git</connection>
<developerConnection>scm:git:git@github.com:elasticsearch/elasticsearch.git</developerConnection>
<url>http://github.com/elasticsearch/elasticsearch</url>
</scm>
<parent>
<groupId>org.sonatype.oss</groupId>
<artifactId>oss-parent</artifactId>
<version>7</version>
</parent>
<properties>
<lucene.version>5.2.0</lucene.version>
<lucene.snapshot.revision>1678978</lucene.snapshot.revision>
<lucene.maven.version>5.2.0-snapshot-${lucene.snapshot.revision}</lucene.maven.version>
<testframework.version>2.1.14</testframework.version>
<tests.jvms>auto</tests.jvms>
<tests.shuffle>true</tests.shuffle>
2015-05-04 16:27:24 -04:00
<tests.output>onerror</tests.output>
<tests.client.ratio></tests.client.ratio>
<tests.bwc.path>${project.basedir}/backwards</tests.bwc.path>
<tests.locale>random</tests.locale>
<tests.timezone>random</tests.timezone>
<tests.slow>false</tests.slow>
2015-05-04 15:38:46 -04:00
<tests.security.manager>true</tests.security.manager>
<es.logger.level>ERROR</es.logger.level>
<tests.heap.size>512m</tests.heap.size>
<tests.heapdump.path>${basedir}/logs/</tests.heapdump.path>
<tests.topn>5</tests.topn>
2015-04-21 20:27:27 -04:00
<jvm.executable>${java.home}${file.separator}bin${file.separator}java</jvm.executable>
<execution.hint.file>.local-${project.version}-execution-hints.log</execution.hint.file>
<!-- Properties used for building RPM & DEB packages (see common/packaging.properties) -->
<packaging.elasticsearch.home.dir>/usr/share/elasticsearch</packaging.elasticsearch.home.dir>
<packaging.elasticsearch.bin.dir>/usr/share/elasticsearch/bin</packaging.elasticsearch.bin.dir>
<packaging.elasticsearch.conf.dir>/etc/elasticsearch</packaging.elasticsearch.conf.dir>
<packaging.elasticsearch.data.dir>/var/lib/elasticsearch</packaging.elasticsearch.data.dir>
<packaging.elasticsearch.user>elasticsearch</packaging.elasticsearch.user>
<packaging.elasticsearch.group>elasticsearch</packaging.elasticsearch.group>
<packaging.elasticsearch.log.dir>/var/log/elasticsearch</packaging.elasticsearch.log.dir>
<packaging.elasticsearch.plugins.dir>${packaging.elasticsearch.home.dir}/plugins</packaging.elasticsearch.plugins.dir>
<packaging.elasticsearch.pid.dir>/var/run/elasticsearch</packaging.elasticsearch.pid.dir>
Build: Update package repositories when creating a release In order to automatically sign and and upload our debian and RPM packages, this commit incorporates signing into the build process and adds the necessary steps to the release process. In order to do this the pom.xml has been adapted and the RPM and jdeb maven plugins have been updated, so the packages are signed on build. However the repositories need to signed as well. Syncing the repos requires downloading the current repo, adding the new packages and syncing it back. The following environment variables are now required as part of the build * GPG_KEY_ID - the key ID of the key used for signing * GPG_PASSPHRASE - your GPG passphrase * S3_BUCKET_SYNC_TO: S3 bucket to sync new repo into The following environment variables are optional * S3_BUCKET_SYNC_FROM: S3 bucket to get existing packages from * GPG_KEYRING - home of gnupg, defaults to ~/.gnupg The following command line tools are needed * createrepo (creates RPM repositories) * expect (used by the maven rpm plugin) * apt-ftparchive (creates DEB repositories) * gpg (signs packages and repo files) * s3cmd (syncing between the different S3 buckets) The current approach would also work for users who want to run their own repositories, all they need to change are a couple of environment variables. Minor implementation detail: Right now the branch name is used as version for the repositories (like 1.4/1.5/1.6) - if we ever change our branch naming scheme, the script needs to be fixed.
2015-04-26 10:54:17 -04:00
<deb.sign>false</deb.sign>
<deb.sign.method>dpkg-sig</deb.sign.method>
2011-12-05 18:05:44 -05:00
</properties>
<repositories>
Upgrade master to lucene 5.0 snapshot This has a lot of improvements in lucene, particularly around memory usage, merging, safety, compressed bitsets, etc. On the elasticsearch side, summary of the larger changes: API changes: postings API became a "pull" rather than "push", collector API became per-segment, etc. packaging changes: add lucene-backwards-codecs.jar as a dependency. improvements to boolean filtering: especially ensuring it will not be slow for SparseBitSet. use generic BitSet api in plumbing so that concrete bitset type is an implementation detail. use generic BitDocIdSetFilter api for dedicated bitset cache, so there is type safety. changes to support atomic commits implement Accountable.getChildResources (detailed memory usage API) for fielddata, etc change handling of IndexFormatTooOld/New, since they no longer extends CorruptIndexException Closes #8347. Squashed commit of the following: commit d90d53f5f21b876efc1e09cbd6d63c538a16cd89 Author: Simon Willnauer <simonw@apache.org> Date: Wed Nov 5 21:35:28 2014 +0100 Make default codec/postings/docvalues format constants commit cb66c22c71cd304a36e7371b199a8c279908ae37 Merge: d4e2f6d ad4ff43 Author: Robert Muir <rmuir@apache.org> Date: Wed Nov 5 11:41:13 2014 -0500 Merge branch 'master' into enhancement/lucene_5_0_upgrade commit d4e2f6dfe767a5128c9b9ae9e75036378de08f47 Merge: 4e5445c 4111d93 Author: Robert Muir <rmuir@apache.org> Date: Wed Nov 5 06:26:32 2014 -0500 Merge branch 'master' into enhancement/lucene_5_0_upgrade commit 4e5445c775f580730eb01360244e9330c0dc3958 Author: Robert Muir <rmuir@apache.org> Date: Tue Nov 4 16:19:19 2014 -0500 FixedBitSet -> BitSet commit 9887ea73e8b857eeda7f851ef3722ef580c92acf Merge: 1bf8894 fc84666 Author: Robert Muir <rmuir@apache.org> Date: Tue Nov 4 15:26:25 2014 -0500 Merge branch 'master' into enhancement/lucene_5_0_upgrade commit 1bf8894430de3e566d0dc5623b0cc28b0d674ebb Author: Robert Muir <rmuir@apache.org> Date: Tue Nov 4 15:22:51 2014 -0500 remove nocommit commit a9c2a2259ff79c69bae7806b64e92d5f472c18c8 Author: Robert Muir <rmuir@apache.org> Date: Tue Nov 4 13:48:43 2014 -0500 turn jenkins red again commit 067baaaa4d52fce772c81654dcdb5051ea79139f Author: Robert Muir <rmuir@apache.org> Date: Tue Nov 4 13:18:21 2014 -0500 unzip from stream commit 82b6fba33d362aca2313cc0ca495f28f5ebb9260 Merge: b2214bb 6523cd9 Author: Robert Muir <rmuir@apache.org> Date: Tue Nov 4 13:10:59 2014 -0500 Merge branch 'master' into enhancement/lucene_5_0_upgrade commit b2214bb093ec2f759003c488c3c403c8931db914 Author: Robert Muir <rmuir@apache.org> Date: Tue Nov 4 13:09:53 2014 -0500 go back to my URL until we can figure out what is up with jenkins commit e7d614172240175a51f580aeaefb6460d21cede9 Author: Robert Muir <rmuir@apache.org> Date: Tue Nov 4 10:52:54 2014 -0500 try this jenkins commit 337a3c7704efa7c9809bf373152d711ee55f876c Author: Simon Willnauer <simonw@apache.org> Date: Tue Nov 4 16:17:49 2014 +0100 Rename temp-files under lock to prevent metadata reads while renaming commit 77d5ba80d0a76efa549dd753b9f114b2f2d2d29c Author: Robert Muir <rmuir@apache.org> Date: Tue Nov 4 10:07:11 2014 -0500 continue to treat too-old/too-new as corruption for now commit 98d0fd2f4851bc50e505a94ca592a694d502c51c Author: Robert Muir <rmuir@apache.org> Date: Tue Nov 4 09:24:21 2014 -0500 fix last nocommit commit 643fceed66c8caf22b97fc489d67b4a2a90a1a1c Author: Simon Willnauer <simonw@apache.org> Date: Tue Nov 4 14:46:17 2014 +0100 remove NoSuchDirectoryException commit 2e43c4feba05cfaf451df70f946c0930cbcc4557 Merge: 93826e4 8163107 Author: Simon Willnauer <simonw@apache.org> Date: Tue Nov 4 14:38:00 2014 +0100 Merge branch 'master' into enhancement/lucene_5_0_upgrade commit 93826e4d56a6a97c2074669014af77ff519bde63 Merge: 7f10129 44e24d3 Author: Simon Willnauer <simonw@apache.org> Date: Tue Nov 4 12:54:27 2014 +0100 Merge branch 'master' into enhancement/lucene_5_0_upgrade Conflicts: src/main/java/org/elasticsearch/index/store/DistributorDirectory.java src/main/java/org/elasticsearch/index/store/Store.java src/main/java/org/elasticsearch/indices/recovery/RecoveryStatus.java src/test/java/org/elasticsearch/index/store/DistributorDirectoryTest.java src/test/java/org/elasticsearch/index/store/StoreTest.java src/test/java/org/elasticsearch/indices/recovery/RecoveryStatusTests.java commit 7f10129364623620575c109df725cf54488b3abb Author: Adrien Grand <jpountz@gmail.com> Date: Tue Nov 4 11:32:24 2014 +0100 Fix TopHitsAggregator to not ignore the top-level/leaf collector split. commit 042fadc8603b997bdfdc45ca44fec70dc86774a6 Author: Adrien Grand <jpountz@gmail.com> Date: Tue Nov 4 11:31:20 2014 +0100 Remove MatchDocIdSet in favor of DocValuesDocIdSet. commit 7d877581ff5db585a674c95ac391ac78a0282826 Author: Adrien Grand <jpountz@gmail.com> Date: Tue Nov 4 11:10:08 2014 +0100 Make the and filter use the cost API. Lucene 5 ensured that cost() can safely be used, and this will have the benefit that the order in which filters are specified is not important anymore (only for slow random-access filters in practice). commit 78f1718aa2cd82184db7c3a8393e6215f43eb4a8 Author: Robert Muir <rmuir@apache.org> Date: Mon Nov 3 23:55:17 2014 -0500 fix previous eclipse import braindamage commit 186c40e9258ce32f22a9a714ab442a310b6376e0 Author: Robert Muir <rmuir@apache.org> Date: Mon Nov 3 22:32:34 2014 -0500 allow child queries to exhaust iterators again commit b0b1271305e1b6d0c4c4da51a3c54df1aa5c0605 Author: Ryan Ernst <ryan@iernst.net> Date: Mon Nov 3 14:50:44 2014 -0800 Fix nocommit for mapping output. index_options will not be printed if the field is not indexed. commit ba223eb85e399c9620a347a983e29bf703953e7a Author: Ryan Ernst <ryan@iernst.net> Date: Mon Nov 3 14:07:26 2014 -0800 Remove no commit for chinese analyzer provider. We should have a separate issue to address not using this provider on new indexes. commit ca554b03c4471797682b2fb724f25205cf040c4a Author: Ryan Ernst <ryan@iernst.net> Date: Mon Nov 3 13:41:59 2014 -0800 Fix stop tests commit de67c4653ec47dee9c671390536110749d2bb05f Author: Ryan Ernst <ryan@iernst.net> Date: Mon Nov 3 12:51:17 2014 -0800 Remove analysis nocommits, switching over to Lucene43*Filters for backcompat commit 50cae9bec72c25c33a1ab8a8931bccb3355171e2 Author: Robert Muir <rmuir@apache.org> Date: Mon Nov 3 15:32:25 2014 -0500 add ram accounting and TODO lazy-loading (its no worse than master, can be a followup improvement) for suggesters commit 7a7f0122f138684b312d0f0b03dc2a9c16c15f9c Author: Robert Muir <rmuir@apache.org> Date: Mon Nov 3 15:11:26 2014 -0500 bump lucene version commit cd0cae5c35e7a9e049f49ae45431f658fb86676b Merge: 446bc09 3c72073 Author: Robert Muir <rmuir@apache.org> Date: Mon Nov 3 14:49:05 2014 -0500 Merge branch 'master' into enhancement/lucene_5_0_upgrade commit 446bc09b4e8bf4602d3c252b53ddaa0da65cce2f Author: Robert Muir <rmuir@apache.org> Date: Mon Nov 3 14:46:30 2014 -0500 remove hack commit a19d85a968d82e6d00292b49630ef6ff2dbf2f32 Author: Robert Muir <rmuir@apache.org> Date: Mon Nov 3 12:53:11 2014 -0500 dont create exceptions with circular references on corruption (will open a PR for this) commit 0beefb9e821d97c37e90ec556d81ac7b00369b8a Author: Robert Muir <rmuir@apache.org> Date: Mon Nov 3 11:47:14 2014 -0500 temporarily add craptastic detector for this horrible bug commit e9f2d298bff75f3d1591f8622441e459c3ce7ac3 Author: Robert Muir <rmuir@apache.org> Date: Mon Nov 3 10:56:01 2014 -0500 add nocommit commit e97f1d50a91a7129650b8effc7a9ecf74ca0569a Merge: c57a3c8 f1f50ac Author: Robert Muir <rmuir@apache.org> Date: Mon Nov 3 10:12:12 2014 -0500 Merge branch 'master' into enhancement/lucene_5_0_upgrade commit c57a3c8341ed61dca62eaf77fad6b8b48aeb6940 Author: Robert Muir <rmuir@apache.org> Date: Mon Nov 3 10:11:46 2014 -0500 fix nocommit commit dd0e77e4ec07c7011ab5f6b60b2ead33dc2333d2 Author: Robert Muir <rmuir@apache.org> Date: Mon Nov 3 09:54:09 2014 -0500 nocommit -> TODO, this is in much more places in the codebase, bigger issue commit 3cc3bf56d72d642059f8fe220d6f2fed608363e9 Author: Ryan Ernst <ryan@iernst.net> Date: Sat Nov 1 23:59:17 2014 -0700 Remove nocommit and awaitsfix for edge ngram filter test. commit 89f115245155511c0fbc0d5ee62e63141c3700c1 Author: Ryan Ernst <ryan@iernst.net> Date: Sat Nov 1 23:57:44 2014 -0700 Fix EdgeNGramTokenFilter logic for version <= 4.3, and fixed instanceof checks in corresponding tests to correctly check for reverse filter when applicable. commit 112df869cd199e36aab0e1a7a288bb1fdb2ebf1c Author: Robert Muir <rmuir@apache.org> Date: Sun Nov 2 00:08:30 2014 -0400 execute geo disjoint query/filter as intersects commit e5061273cc685f1252e9a3a9ae4877ec9bce7752 Author: Robert Muir <rmuir@apache.org> Date: Sat Nov 1 22:58:59 2014 -0400 remove chinese analyzer from docs commit ea1af11b8978fcc551f198e24fe21d52806993ef Author: Robert Muir <rmuir@apache.org> Date: Sat Nov 1 22:29:00 2014 -0400 fix ram accounting bug commit 53c0a42c6aa81aa6bf81d3aa77b95efd513e0f81 Merge: e3bcd3c 6011a18 Author: Robert Muir <rmuir@apache.org> Date: Sat Nov 1 22:16:29 2014 -0400 Merge branch 'master' into enhancement/lucene_5_0_upgrade commit e3bcd3cc07a4957e12c7b3affc462c31290a9186 Author: Robert Muir <rmuir@apache.org> Date: Sat Nov 1 22:15:01 2014 -0400 fix url-email back compat (thanks ryan) commit 91d6b096a96c357755abee167098607223be1aad Author: Robert Muir <rmuir@apache.org> Date: Sat Nov 1 22:11:26 2014 -0400 bump lucene version commit d2bb9568df72b37ec7050d25940160b8517394bc Author: Robert Muir <rmuir@apache.org> Date: Sat Nov 1 20:33:07 2014 -0400 remove nocommit commit 1d049c471e19e5c457262c7399c5bad9e023b2e3 Author: Robert Muir <rmuir@apache.org> Date: Sat Nov 1 20:28:58 2014 -0400 fix eclipse to group org/com imports together: without this, its madness commit 09d8c1585ee99b6e63be032732c04ef6fed84ed2 Author: Robert Muir <rmuir@apache.org> Date: Sat Nov 1 14:27:41 2014 -0400 remove nocommit, if you dont liek it, print assembly and tell me how it can be better commit 8a6a294313fdf33b50c7126ec20c07867ecd637c Author: Adrien Grand <jpountz@gmail.com> Date: Fri Oct 31 20:01:55 2014 +0100 Remove deprecated usage of DocIdSets.newDocIDSet. commit 601bee60543610558403298124a84b1b3bbd1045 Author: Robert Muir <rmuir@apache.org> Date: Fri Oct 31 14:13:18 2014 -0400 maybe one of these zillions of annotations will stop thread leaks commit 9d3f69abc7267c5e455aefa26db95cb554b02d62 Author: Robert Muir <rmuir@apache.org> Date: Fri Oct 31 14:05:39 2014 -0400 fix some analysis nocommits commit 312e3a29c77214b8142d21c33a6b2c2b151acf9a Author: Adrien Grand <jpountz@gmail.com> Date: Fri Oct 31 18:28:45 2014 +0100 Remove XConstantScoreQuery/XFilteredQuery/ApplyAcceptedDocsFilter. commit 5a0cb9f8e167215df7f1b1fad11eec6e6c74940f Author: Adrien Grand <jpountz@gmail.com> Date: Fri Oct 31 17:06:45 2014 +0100 Fix misleading documentation of DocIdSets.toCacheable. commit 8b4ef2b5b476fff4c79c0c2a0e4769ead26cf82b Author: Adrien Grand <jpountz@gmail.com> Date: Fri Oct 31 17:05:59 2014 +0100 Fix CustomRandomAccessFilterStrategy to override the right method. commit d7a9a407a615987cfffc651f724fbd8795c9c671 Author: Adrien Grand <jpountz@gmail.com> Date: Fri Oct 31 16:21:35 2014 +0100 Better handle the special case when there is a single SHOULD clause. commit 648ad389f07e92dfc451f345549c9841ba5e4c9a Author: Adrien Grand <jpountz@gmail.com> Date: Fri Oct 31 15:53:38 2014 +0100 Cut over XBooleanFilter to BitDocIdSet.Builder. The idea is similar to what happened to Lucene's BooleanFilter. Yet XBooleanFilter is a bit more sophisticated and I had to slightly change the way it is implemented in order to make it work. The main difference with before is that slow filters are now applied lazily, so eg. if you have 3 MUST clauses, two with a fast iterator and the third with a slow iterator, the previous implementation used to apply the fast iterators first and then only check the slow filter for bits which were set in the bit set. Now we are computing a bit set based on the fast must clauses and then basically returning a BitsFilteredDocIdSet.wrap(bitset, slowClause). Other than that, BooleanFilter still uses the bitset optimizations when or-ing and and-ind filters. Another improvement is that BooleanFilter is now aware of the cost API. commit b2dad312b4bc9f931dc3a25415dd81c0d9deee08 Author: Robert Muir <rmuir@apache.org> Date: Fri Oct 31 10:18:53 2014 -0400 clear nocommit commit 4851d2091e744294336dfade33906c75fbe695cd Author: Simon Willnauer <simonw@apache.org> Date: Fri Oct 31 15:15:16 2014 +0100 cut over to RoaringDocIdSet commit ca6aec24a901073e65ce4dd6b70964fd3612409e Author: Simon Willnauer <simonw@apache.org> Date: Fri Oct 31 14:57:30 2014 +0100 make nocommit more explicit commit d0742ee2cb7a6c48b0bbb31580b7fbcebdb6ec40 Author: Robert Muir <rmuir@apache.org> Date: Fri Oct 31 09:55:24 2014 -0400 fix standardtokenizer nocommit commit 7d6faccafff22a86af62af0384838391d46695ca Author: Simon Willnauer <simonw@apache.org> Date: Fri Oct 31 14:54:08 2014 +0100 fix compilation commit a038a405c1ff6458ad294e6b5bc469e622f699d0 Author: Simon Willnauer <simonw@apache.org> Date: Fri Oct 31 14:53:43 2014 +0100 fix compilation commit 30c9e307b1f5d80e2deca3392c0298682241207f Author: Simon Willnauer <simonw@apache.org> Date: Fri Oct 31 14:52:35 2014 +0100 fix compilation commit e5139bc5a0a9abd2bdc6ba0dfbcb7e3c2e7b8481 Author: Robert Muir <rmuir@apache.org> Date: Fri Oct 31 09:52:16 2014 -0400 clear nocommit here commit 85dd2cedf7a7994bed871ac421cfda06aaf5c0a5 Author: Simon Willnauer <simonw@apache.org> Date: Fri Oct 31 14:46:17 2014 +0100 fix CompletionPostingsFormatTest commit c0f3781f616c9b0ee3b5c4d0998810f595868649 Author: Robert Muir <rmuir@apache.org> Date: Fri Oct 31 09:38:00 2014 -0400 add tests for these analyzers commit 51f9999b4ad079c283ae762c862fd0e22d00445f Author: Simon Willnauer <simonw@apache.org> Date: Fri Oct 31 14:10:26 2014 +0100 remove nocommit - this is not an issue commit fd1388fa03e622b0738601c8aeb2dbf7949a6dd2 Author: Martijn van Groningen <martijn.v.groningen@gmail.com> Date: Fri Oct 31 14:07:01 2014 +0100 Remove redundant null check commit 3d6dd51b0927337ba941a235446b22e8cd500dc3 Author: Martijn van Groningen <martijn.v.groningen@gmail.com> Date: Fri Oct 31 14:01:37 2014 +0100 Removed the work around to prevent p/c error when invoking #iterator() twice, because the custom query filter wrapper now doesn't transform the result to a cache doc id set any more. I think the transforming to a cachable doc id set in CustomQueryWrappingFilter isn't needed at all, because we use the DocIdSet only once and because of that is just slowed things down. commit 821832a537e00cd1216064b379df3e01d2911d3a Author: Simon Willnauer <simonw@apache.org> Date: Fri Oct 31 13:54:33 2014 +0100 one more nocommit commit 77eb9ea4c4ea50afb2680c29682ddcb3851a9d4f Author: Martijn van Groningen <martijn.v.groningen@gmail.com> Date: Fri Oct 31 13:52:29 2014 +0100 Remove cast commit a400573c034ed602221f801b20a58a9186a06eae Author: Simon Willnauer <simonw@apache.org> Date: Fri Oct 31 13:49:24 2014 +0100 fix stop filter commit 51746087cf8ec34c4d20aa05ba8dbff7b3b43eec Author: Simon Willnauer <simonw@apache.org> Date: Fri Oct 31 13:21:36 2014 +0100 fix changed semantics of FBS.nextSetBit to check for NO_MORE_DOCS commit 8d0a4e2511310f1293860823fe3ba80ac771bbe3 Author: Robert Muir <rmuir@apache.org> Date: Fri Oct 31 08:13:44 2014 -0400 do the bogus cast differently commit 46a5cc5732dea096c0c80ae5ce42911c9c51e44e Author: Simon Willnauer <simonw@apache.org> Date: Fri Oct 31 13:00:16 2014 +0100 I hate it but P/C now passes commit 580c0c2f82bbeacf217e594f22312b11d1bdb839 Merge: a9d3c00 1645434 Author: Robert Muir <rmuir@apache.org> Date: Fri Oct 31 06:54:31 2014 -0400 fix nocommit/classcast commit a9d3c004d62fe04989f49a897e6ff84973c06eb9 Author: Adrien Grand <jpountz@gmail.com> Date: Fri Oct 31 08:49:31 2014 +0100 Update TODO. commit aa75af0b407792aeef32017f03a6f442ed970baa Author: Robert Muir <rmuir@apache.org> Date: Thu Oct 30 19:18:25 2014 -0400 clear obselete nocommits from lucene bump commit d438534cf41fcbe2d88070e2f27c994625e082c2 Author: Robert Muir <rmuir@apache.org> Date: Thu Oct 30 18:53:20 2014 -0400 throw classcastexception when ES abuses regular filtercache for nested docs commit 2c751f3a8feda43ec127c34769b069de21f3d16f Author: Robert Muir <rmuir@apache.org> Date: Thu Oct 30 18:31:34 2014 -0400 bump lucene revision, fix tests commit d6ef7f6304ae262bf6228a7d661b2a452df332be Author: Simon Willnauer <simonw@apache.org> Date: Thu Oct 30 22:37:58 2014 +0100 fix merge problems commit de9d361f88a9ce6bb3fba85285de41f223c95767 Merge: 41f6aab f6b37a3 Author: Simon Willnauer <simonw@apache.org> Date: Thu Oct 30 22:28:59 2014 +0100 Merge branch 'master' into enhancement/lucene_5_0_upgrade Conflicts: pom.xml src/main/java/org/elasticsearch/Version.java src/main/java/org/elasticsearch/gateway/local/state/meta/MetaDataStateFormat.java commit 41f6aab388aa80c40b08a2facab2617576203a0d Author: Simon Willnauer <simonw@apache.org> Date: Thu Oct 30 17:48:46 2014 +0100 fix potiential NPE commit c4428b12e1ae838b91e847df8b4a8be7f49e10f4 Author: Simon Willnauer <simonw@apache.org> Date: Thu Oct 30 17:38:46 2014 +0100 don't advance iterator in a match(doc) method commit 28ab948e99e3ea4497c9b1e468384806ba7e1790 Author: Simon Willnauer <simonw@apache.org> Date: Thu Oct 30 17:34:58 2014 +0100 don't advance iterator in a match(doc) method commit eb0f33f6634fadfcf4b2bf7327400e568f0427bb Author: Simon Willnauer <simonw@apache.org> Date: Thu Oct 30 16:55:54 2014 +0100 fix GeoUtilsTest commit 7f711fe3eaf73b6c2268cf42d5a41132a61ad831 Author: Simon Willnauer <simonw@apache.org> Date: Thu Oct 30 16:43:16 2014 +0100 Use a dedicated default index option if field type is not indexed by default commit 78e3f37ab779e3e1b25b45a742cc86ab5f975149 Author: Robert Muir <rmuir@apache.org> Date: Thu Oct 30 10:56:14 2014 -0400 disable this test with AwaitsFix to reduce noise commit 9a590f563c8e03a99ecf0505c92d12d7ab20d11d Author: Simon Willnauer <simonw@apache.org> Date: Thu Oct 30 09:38:49 2014 +0100 fix lucene version commit abe3ca1d8bb6b5101b545198f59aec44bacfa741 Author: Simon Willnauer <simonw@apache.org> Date: Thu Oct 30 09:35:05 2014 +0100 fix AnalyzingCompletionLookupProvider to wrok with new codec API commit 464293b245852d60bde050c6d3feb5907dcfbf5f Author: Robert Muir <rmuir@apache.org> Date: Thu Oct 30 00:26:00 2014 -0400 don't try to write stuff to tests class directory commit 031cc6c19f4fe4423a034b515f77e5a0e282a124 Author: Robert Muir <rmuir@apache.org> Date: Thu Oct 30 00:12:36 2014 -0400 AwaitsFix these known issues to reduce noise commit 4600d51891e35847f2d344247d6f915a0605c0d1 Author: Robert Muir <rmuir@apache.org> Date: Thu Oct 30 00:06:53 2014 -0400 openbitset lives on commit 8492bae056249e2555d24acd55f1046b66a667c4 Author: Robert Muir <rmuir@apache.org> Date: Wed Oct 29 23:42:54 2014 -0400 fixes for filter tests commit 31f24ce4efeda31f97eafdb122346c7047a53bf2 Author: Robert Muir <rmuir@apache.org> Date: Wed Oct 29 23:12:38 2014 -0400 don't use fieldcache commit 8480789942fdff14a6d2b2cd8134502fe62f20c8 Author: Robert Muir <rmuir@apache.org> Date: Wed Oct 29 23:04:29 2014 -0400 ancient index no longer supported commit 02e78dc7ebdd827533009f542582e8db44309c57 Author: Simon Willnauer <simonw@apache.org> Date: Wed Oct 29 23:37:02 2014 +0100 fix more tests commit ff746c6df23c50b3f3ec24922413b962c8983080 Author: Simon Willnauer <simonw@apache.org> Date: Wed Oct 29 23:08:19 2014 +0100 fix all mapper commit e4fb84b517107b25cb064c66f83c9aa814a311b2 Author: Simon Willnauer <simonw@apache.org> Date: Wed Oct 29 22:55:54 2014 +0100 fix distributor tests and cut over to FileStore API commit 20c850e2cfe3210cd1fb9e232afed8d4ac045857 Author: Simon Willnauer <simonw@apache.org> Date: Wed Oct 29 22:42:18 2014 +0100 use DOCS_ONLY if index=true and current options == null commit 44169c108418413cfe51f5ce23ab82047463e4c2 Author: Simon Willnauer <simonw@apache.org> Date: Wed Oct 29 22:33:36 2014 +0100 Fix index=yes|no settings in mappers commit a3c5f77987461a18121156ed345d42ded301c566 Author: Simon Willnauer <simonw@apache.org> Date: Wed Oct 29 21:51:41 2014 +0100 fix several field mappers conversion from setIndexed to indexOptions commit df84d736908e88a031d710f98e222be68ae96af1 Author: Simon Willnauer <simonw@apache.org> Date: Wed Oct 29 21:33:35 2014 +0100 fix SourceFieldMapper to be not indexed commit b2bf01d12a8271a31fb2df601162d0e89924c8f5 Author: Simon Willnauer <simonw@apache.org> Date: Wed Oct 29 21:23:08 2014 +0100 Cut over to .liv files in store and corruption tests commit 619004df436f9ef05d24bef1b6a7f084c6b0ad75 Author: Simon Willnauer <simonw@apache.org> Date: Wed Oct 29 17:05:52 2014 +0100 fix more tests commit b7ed653a8b464de446e00456bce0a89e47627c38 Author: Simon Willnauer <simonw@apache.org> Date: Wed Oct 29 16:19:08 2014 +0100 [STORE] Add dedicated method to write temporary files Recovery writes temporary files which might not end up in the right distributor directories today. This commit adds a dedicated API that allows specifying the target file name in order to create the tempoary file in the correct directory. commit 7d574659f6ae04adc2b857146ad0d8d56ca66f12 Author: Robert Muir <rmuir@apache.org> Date: Wed Oct 29 10:28:49 2014 -0400 add some leniency to temporary bogus method commit f97022ea7c2259f7a5cf97d924c59ed75ab65b32 Author: Robert Muir <rmuir@apache.org> Date: Wed Oct 29 10:24:17 2014 -0400 fix MultiCollector bug commit b760533128c2b4eb10ad76e9689ef714293dd819 Author: Simon Willnauer <simonw@apache.org> Date: Wed Oct 29 14:56:08 2014 +0100 CheckIndex is now closeable we need to close it commit 9dae9fb6d63546a6c2427be2a2d5c8358f5b1934 Author: Simon Willnauer <simonw@apache.org> Date: Wed Oct 29 14:45:11 2014 +0100 s/Lucene51/Lucene50 commit 7aea9b86856a8c1b06a08e7c312ede1168af1287 Author: Simon Willnauer <simonw@apache.org> Date: Wed Oct 29 14:42:30 2014 +0100 fix BloomFilterPostingsFormat commit 16fea6fe842e88665d59cc091e8224e8dc6ce08c Author: Simon Willnauer <simonw@apache.org> Date: Wed Oct 29 14:41:16 2014 +0100 fix some codec format issues commit 3d77aa97dd2c4012b63befef3f2ba2525965e8a6 Author: Simon Willnauer <simonw@apache.org> Date: Wed Oct 29 14:30:43 2014 +0100 fix CodecTests commit 6ef823b1fde25657438ace1aabd9d552d6ae215e Author: Simon Willnauer <simonw@apache.org> Date: Wed Oct 29 14:26:47 2014 +0100 make it compile commit 9991eee1fe99435118d4dd42b297ffc83fce5ec5 Author: Robert Muir <rmuir@apache.org> Date: Wed Oct 29 09:12:43 2014 -0400 add an ugly hack for TopHitsAggregator for now commit 03e768a01fcae6b1f4cb50bcceec7d42977ac3e6 Author: Simon Willnauer <simonw@apache.org> Date: Wed Oct 29 14:01:02 2014 +0100 cut over ES090PostingsFormat commit 463d281faadb794fdde3b469326bdaada25af048 Merge: 0f8740a 8eac79c Author: Robert Muir <rmuir@apache.org> Date: Wed Oct 29 08:30:36 2014 -0400 Merge branch 'master' into enhancement/lucene_5_0_upgrade commit 0f8740a782455a63524a5a82169f6bbbfc613518 Author: Robert Muir <rmuir@apache.org> Date: Wed Oct 29 01:00:15 2014 -0400 fix/hack remaining filter and analysis issues commit df534488569da13b31d66e581456dfd4b55156b9 Author: Robert Muir <rmuir@apache.org> Date: Tue Oct 28 23:11:47 2014 -0400 fix ngrams / openbitset usage commit 11f5dc3b9887f4da80a0fa1818e1350b30599329 Author: Robert Muir <rmuir@apache.org> Date: Tue Oct 28 22:42:44 2014 -0400 hack over sort comparators commit 4ebdc754350f512596f6a02770d223e9f5f7975a Author: Robert Muir <rmuir@apache.org> Date: Tue Oct 28 21:27:07 2014 -0400 compiler errors < 100 commit 2d60c9e29de48ccb0347dd87f7201f47b67b83a0 Author: Robert Muir <rmuir@apache.org> Date: Tue Oct 28 03:13:08 2014 -0400 clear some nocommits around ram usage commit aaf47fe6c0aabcfb2581dd456fc50edf871da758 Author: Robert Muir <rmuir@apache.org> Date: Mon Oct 27 12:27:34 2014 -0400 migrate fieldinfo handling commit ef6ed6d15d8def71cd880d97249678136cd29fe3 Author: Robert Muir <rmuir@apache.org> Date: Mon Oct 27 12:07:13 2014 -0400 more simple fixes commit f475e1048ae697dd9da5bd9da445102b0b7bc5b3 Author: Robert Muir <rmuir@apache.org> Date: Mon Oct 27 11:58:21 2014 -0400 more fielddata ram accounting fixes commit 16b4239eaa9b4262df258257df4f31d39f28a3a2 Author: Simon Willnauer <simonw@apache.org> Date: Mon Oct 27 16:47:32 2014 +0100 add missing file commit 5b542fa2a6da81e36a0c35b8e891a1d8bc58f663 Author: Simon Willnauer <simonw@apache.org> Date: Mon Oct 27 16:43:29 2014 +0100 cut over completion posting formats - still some nocommits commit ecdea49404c4ec4e1b78fb54575825f21b4e096e Author: Robert Muir <rmuir@apache.org> Date: Mon Oct 27 11:21:09 2014 -0400 fielddata accountable fixes commit d43da265718917e20c8264abd43342069198fe9c Author: Simon Willnauer <simonw@apache.org> Date: Mon Oct 27 16:19:53 2014 +0100 cut over BloomFilterPostings to new API commit 29b192ba621c14820175775d01242162b88bd364 Author: Robert Muir <rmuir@apache.org> Date: Mon Oct 27 10:22:51 2014 -0400 fix more analyzers commit 74b4a0c5283e323a7d02490df469497c722780d2 Author: Robert Muir <rmuir@apache.org> Date: Mon Oct 27 09:54:25 2014 -0400 fix tests commit 554084ccb4779dd6b1c65fa7212ad1f64f3a6968 Author: Simon Willnauer <simonw@apache.org> Date: Mon Oct 27 14:51:48 2014 +0100 maintain supressed exceptions on CorruptIndexException commit cf882d9112c5e8ef1e9f2b0f800f7aa59001a4f2 Author: Simon Willnauer <simonw@apache.org> Date: Mon Oct 27 14:47:17 2014 +0100 commitOnClose=false commit ebb2a9189ab2f459b7c6c9985be610fd90dfe410 Author: Simon Willnauer <simonw@apache.org> Date: Mon Oct 27 14:46:06 2014 +0100 cut over indexwriter closeing in InternalEngine commit cd21b3d4706f0b562bd37792d077d60832aff65f Author: Simon Willnauer <simonw@apache.org> Date: Mon Oct 27 14:38:10 2014 +0100 fix constant commit f93f900c4a1c90af3a21a4af5735a7536423fe28 Author: Robert Muir <rmuir@apache.org> Date: Mon Oct 27 09:50:49 2014 -0400 fix test commit a9a752940b1ab4699a6a08ba8b34afca82b843fe Author: Martijn van Groningen <martijn.v.groningen@gmail.com> Date: Mon Oct 27 09:26:18 2014 +0100 Be explicit about the index options commit d9ee815babd030fa2ceaec9f467c105ee755bf6b Author: Simon Willnauer <simonw@apache.org> Date: Sun Oct 26 20:03:44 2014 +0100 cut over store and directory commit b3f5c8e39039dd8f5caac0c4dd1fc3b1116e64ca Author: Robert Muir <rmuir@apache.org> Date: Sun Oct 26 13:08:39 2014 -0400 more test fixes commit 8842f2684e3606aae0860c27f7a4c53e273d47fb Author: Robert Muir <rmuir@apache.org> Date: Sun Oct 26 12:14:52 2014 -0400 tests manual labor commit c43de5aec337919a3fdc3638406dff17fc80bc98 Author: Robert Muir <rmuir@apache.org> Date: Sun Oct 26 11:04:13 2014 -0400 BytesRef -> BytesRefBuilder commit 020c0d087a2f37566a1db390b0e044ebab030138 Author: Martijn van Groningen <martijn.v.groningen@gmail.com> Date: Sun Oct 26 15:53:37 2014 +0100 Moved over to BitSetFilter commit 48dd1b909e6c52cef733961c9ecebfe4f67109fe Author: Martijn van Groningen <martijn.v.groningen@gmail.com> Date: Sun Oct 26 15:53:11 2014 +0100 Left over Collector api change in ScanContext commit 6ec248ef63f262bcda400181b838fd9244752625 Author: Martijn van Groningen <martijn.v.groningen@gmail.com> Date: Sun Oct 26 15:47:40 2014 +0100 Moved indexed() over to indexOptions != null or indexOptions == null commit 9937aebfd8546ae4bb652cd976b3b43ac5ab7a63 Author: Martijn van Groningen <martijn.v.groningen@gmail.com> Date: Sun Oct 26 13:26:31 2014 +0100 Fixed many compile errors. Mainly around the breaking Collector api change in 5.0. commit fec32c4abc0e3309cf34260c8816305a6f820c9e Author: Robert Muir <rmuir@apache.org> Date: Sat Oct 25 11:22:17 2014 -0400 more easy fixes commit dab22531d801800d17a65dc7c9464148ce8ebffd Author: Robert Muir <rmuir@apache.org> Date: Sat Oct 25 09:33:41 2014 -0400 more progress commit 414767e9a955010076b0497cc4f6d0c1850b48d3 Author: Robert Muir <rmuir@apache.org> Date: Sat Oct 25 06:33:17 2014 -0400 more progress commit ad9d969fddf139a8830254d3eb36a908ba87cc12 Author: Robert Muir <rmuir@apache.org> Date: Fri Oct 24 14:28:01 2014 -0400 current state of fun commit 464475eecb0be15d7d084135ed16051f76a7e521 Author: Robert Muir <rmuir@apache.org> Date: Fri Oct 24 11:42:41 2014 -0400 bump to 5.0 snapshot
2014-11-05 15:48:51 -05:00
<repository>
<id>lucene-snapshots</id>
<name>Lucene Snapshots</name>
2015-04-28 08:38:57 -04:00
<url>http://download.elastic.co/lucenesnapshots/${lucene.snapshot.revision}</url>
</repository>
</repositories>
2011-12-05 18:05:44 -05:00
<dependencies>
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest-all</artifactId>
<version>1.3</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.carrotsearch.randomizedtesting</groupId>
<artifactId>randomizedtesting-runner</artifactId>
<version>${testframework.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.lucene</groupId>
<artifactId>lucene-test-framework</artifactId>
<version>${lucene.maven.version}</version>
<scope>test</scope>
</dependency>
added REST test suites runner The REST layer can now be tested through tests that are shared between all the elasticsearch official clients. The tests are based on REST specification that can be found on the elasticsearch-rest-api-spec project and consist of YAML files that describe the operations to be executed and the obtained results that need to be tested. REST tests can be executed through the ElasticsearchRestTests class, which relies on the rest-spec git submodule that contains the rest spec and tests pulled from the elasticsearch-rest-spec-api project. The rest-spec submodule gets automatically initialized and updated through maven (generate-test-resources phase). The REST runner and the needed classes are distributed within the test artifact. The following are the options supported by the REST tests runner: - tests.rest[true|false|host:port]: determines whether the REST tests need to be run and if so whether to rely on an external cluster (providing host and port) or fire a test cluster (default) - tests.rest.suite: comma separated paths of the test suites to be run (by default loaded from /rest-spec/test classpath). it is possible to run only a subset of the tests providing a sub-folder or even a single yaml file (the default /rest-spec/test prefix is optional when files are loaded from classpath) e.g. -Dtests.rest.suite=index,get,create/10_with_id - tests.rest.spec: REST spec path (default /rest-spec/api from classpath) - tests.iters: runs multiple iterations - tests.seed: seed to base the random behaviours on - tests.appendseed[true|false]: enables adding the seed to each test section's description (default false) - tests.cluster_seed: seed used to create the test cluster (if enabled) Closes #4469
2013-12-07 09:41:51 -05:00
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.3.5</version>
added REST test suites runner The REST layer can now be tested through tests that are shared between all the elasticsearch official clients. The tests are based on REST specification that can be found on the elasticsearch-rest-api-spec project and consist of YAML files that describe the operations to be executed and the obtained results that need to be tested. REST tests can be executed through the ElasticsearchRestTests class, which relies on the rest-spec git submodule that contains the rest spec and tests pulled from the elasticsearch-rest-spec-api project. The rest-spec submodule gets automatically initialized and updated through maven (generate-test-resources phase). The REST runner and the needed classes are distributed within the test artifact. The following are the options supported by the REST tests runner: - tests.rest[true|false|host:port]: determines whether the REST tests need to be run and if so whether to rely on an external cluster (providing host and port) or fire a test cluster (default) - tests.rest.suite: comma separated paths of the test suites to be run (by default loaded from /rest-spec/test classpath). it is possible to run only a subset of the tests providing a sub-folder or even a single yaml file (the default /rest-spec/test prefix is optional when files are loaded from classpath) e.g. -Dtests.rest.suite=index,get,create/10_with_id - tests.rest.spec: REST spec path (default /rest-spec/api from classpath) - tests.iters: runs multiple iterations - tests.seed: seed to base the random behaviours on - tests.appendseed[true|false]: enables adding the seed to each test section's description (default false) - tests.cluster_seed: seed used to create the test cluster (if enabled) Closes #4469
2013-12-07 09:41:51 -05:00
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.google.jimfs</groupId>
<artifactId>jimfs</artifactId>
<version>1.0</version>
<scope>test</scope>
</dependency>
2011-12-05 18:05:44 -05:00
<dependency>
<groupId>org.apache.lucene</groupId>
<artifactId>lucene-core</artifactId>
<version>${lucene.maven.version}</version>
2011-12-05 18:05:44 -05:00
<scope>compile</scope>
</dependency>
Upgrade master to lucene 5.0 snapshot This has a lot of improvements in lucene, particularly around memory usage, merging, safety, compressed bitsets, etc. On the elasticsearch side, summary of the larger changes: API changes: postings API became a "pull" rather than "push", collector API became per-segment, etc. packaging changes: add lucene-backwards-codecs.jar as a dependency. improvements to boolean filtering: especially ensuring it will not be slow for SparseBitSet. use generic BitSet api in plumbing so that concrete bitset type is an implementation detail. use generic BitDocIdSetFilter api for dedicated bitset cache, so there is type safety. changes to support atomic commits implement Accountable.getChildResources (detailed memory usage API) for fielddata, etc change handling of IndexFormatTooOld/New, since they no longer extends CorruptIndexException Closes #8347. Squashed commit of the following: commit d90d53f5f21b876efc1e09cbd6d63c538a16cd89 Author: Simon Willnauer <simonw@apache.org> Date: Wed Nov 5 21:35:28 2014 +0100 Make default codec/postings/docvalues format constants commit cb66c22c71cd304a36e7371b199a8c279908ae37 Merge: d4e2f6d ad4ff43 Author: Robert Muir <rmuir@apache.org> Date: Wed Nov 5 11:41:13 2014 -0500 Merge branch 'master' into enhancement/lucene_5_0_upgrade commit d4e2f6dfe767a5128c9b9ae9e75036378de08f47 Merge: 4e5445c 4111d93 Author: Robert Muir <rmuir@apache.org> Date: Wed Nov 5 06:26:32 2014 -0500 Merge branch 'master' into enhancement/lucene_5_0_upgrade commit 4e5445c775f580730eb01360244e9330c0dc3958 Author: Robert Muir <rmuir@apache.org> Date: Tue Nov 4 16:19:19 2014 -0500 FixedBitSet -> BitSet commit 9887ea73e8b857eeda7f851ef3722ef580c92acf Merge: 1bf8894 fc84666 Author: Robert Muir <rmuir@apache.org> Date: Tue Nov 4 15:26:25 2014 -0500 Merge branch 'master' into enhancement/lucene_5_0_upgrade commit 1bf8894430de3e566d0dc5623b0cc28b0d674ebb Author: Robert Muir <rmuir@apache.org> Date: Tue Nov 4 15:22:51 2014 -0500 remove nocommit commit a9c2a2259ff79c69bae7806b64e92d5f472c18c8 Author: Robert Muir <rmuir@apache.org> Date: Tue Nov 4 13:48:43 2014 -0500 turn jenkins red again commit 067baaaa4d52fce772c81654dcdb5051ea79139f Author: Robert Muir <rmuir@apache.org> Date: Tue Nov 4 13:18:21 2014 -0500 unzip from stream commit 82b6fba33d362aca2313cc0ca495f28f5ebb9260 Merge: b2214bb 6523cd9 Author: Robert Muir <rmuir@apache.org> Date: Tue Nov 4 13:10:59 2014 -0500 Merge branch 'master' into enhancement/lucene_5_0_upgrade commit b2214bb093ec2f759003c488c3c403c8931db914 Author: Robert Muir <rmuir@apache.org> Date: Tue Nov 4 13:09:53 2014 -0500 go back to my URL until we can figure out what is up with jenkins commit e7d614172240175a51f580aeaefb6460d21cede9 Author: Robert Muir <rmuir@apache.org> Date: Tue Nov 4 10:52:54 2014 -0500 try this jenkins commit 337a3c7704efa7c9809bf373152d711ee55f876c Author: Simon Willnauer <simonw@apache.org> Date: Tue Nov 4 16:17:49 2014 +0100 Rename temp-files under lock to prevent metadata reads while renaming commit 77d5ba80d0a76efa549dd753b9f114b2f2d2d29c Author: Robert Muir <rmuir@apache.org> Date: Tue Nov 4 10:07:11 2014 -0500 continue to treat too-old/too-new as corruption for now commit 98d0fd2f4851bc50e505a94ca592a694d502c51c Author: Robert Muir <rmuir@apache.org> Date: Tue Nov 4 09:24:21 2014 -0500 fix last nocommit commit 643fceed66c8caf22b97fc489d67b4a2a90a1a1c Author: Simon Willnauer <simonw@apache.org> Date: Tue Nov 4 14:46:17 2014 +0100 remove NoSuchDirectoryException commit 2e43c4feba05cfaf451df70f946c0930cbcc4557 Merge: 93826e4 8163107 Author: Simon Willnauer <simonw@apache.org> Date: Tue Nov 4 14:38:00 2014 +0100 Merge branch 'master' into enhancement/lucene_5_0_upgrade commit 93826e4d56a6a97c2074669014af77ff519bde63 Merge: 7f10129 44e24d3 Author: Simon Willnauer <simonw@apache.org> Date: Tue Nov 4 12:54:27 2014 +0100 Merge branch 'master' into enhancement/lucene_5_0_upgrade Conflicts: src/main/java/org/elasticsearch/index/store/DistributorDirectory.java src/main/java/org/elasticsearch/index/store/Store.java src/main/java/org/elasticsearch/indices/recovery/RecoveryStatus.java src/test/java/org/elasticsearch/index/store/DistributorDirectoryTest.java src/test/java/org/elasticsearch/index/store/StoreTest.java src/test/java/org/elasticsearch/indices/recovery/RecoveryStatusTests.java commit 7f10129364623620575c109df725cf54488b3abb Author: Adrien Grand <jpountz@gmail.com> Date: Tue Nov 4 11:32:24 2014 +0100 Fix TopHitsAggregator to not ignore the top-level/leaf collector split. commit 042fadc8603b997bdfdc45ca44fec70dc86774a6 Author: Adrien Grand <jpountz@gmail.com> Date: Tue Nov 4 11:31:20 2014 +0100 Remove MatchDocIdSet in favor of DocValuesDocIdSet. commit 7d877581ff5db585a674c95ac391ac78a0282826 Author: Adrien Grand <jpountz@gmail.com> Date: Tue Nov 4 11:10:08 2014 +0100 Make the and filter use the cost API. Lucene 5 ensured that cost() can safely be used, and this will have the benefit that the order in which filters are specified is not important anymore (only for slow random-access filters in practice). commit 78f1718aa2cd82184db7c3a8393e6215f43eb4a8 Author: Robert Muir <rmuir@apache.org> Date: Mon Nov 3 23:55:17 2014 -0500 fix previous eclipse import braindamage commit 186c40e9258ce32f22a9a714ab442a310b6376e0 Author: Robert Muir <rmuir@apache.org> Date: Mon Nov 3 22:32:34 2014 -0500 allow child queries to exhaust iterators again commit b0b1271305e1b6d0c4c4da51a3c54df1aa5c0605 Author: Ryan Ernst <ryan@iernst.net> Date: Mon Nov 3 14:50:44 2014 -0800 Fix nocommit for mapping output. index_options will not be printed if the field is not indexed. commit ba223eb85e399c9620a347a983e29bf703953e7a Author: Ryan Ernst <ryan@iernst.net> Date: Mon Nov 3 14:07:26 2014 -0800 Remove no commit for chinese analyzer provider. We should have a separate issue to address not using this provider on new indexes. commit ca554b03c4471797682b2fb724f25205cf040c4a Author: Ryan Ernst <ryan@iernst.net> Date: Mon Nov 3 13:41:59 2014 -0800 Fix stop tests commit de67c4653ec47dee9c671390536110749d2bb05f Author: Ryan Ernst <ryan@iernst.net> Date: Mon Nov 3 12:51:17 2014 -0800 Remove analysis nocommits, switching over to Lucene43*Filters for backcompat commit 50cae9bec72c25c33a1ab8a8931bccb3355171e2 Author: Robert Muir <rmuir@apache.org> Date: Mon Nov 3 15:32:25 2014 -0500 add ram accounting and TODO lazy-loading (its no worse than master, can be a followup improvement) for suggesters commit 7a7f0122f138684b312d0f0b03dc2a9c16c15f9c Author: Robert Muir <rmuir@apache.org> Date: Mon Nov 3 15:11:26 2014 -0500 bump lucene version commit cd0cae5c35e7a9e049f49ae45431f658fb86676b Merge: 446bc09 3c72073 Author: Robert Muir <rmuir@apache.org> Date: Mon Nov 3 14:49:05 2014 -0500 Merge branch 'master' into enhancement/lucene_5_0_upgrade commit 446bc09b4e8bf4602d3c252b53ddaa0da65cce2f Author: Robert Muir <rmuir@apache.org> Date: Mon Nov 3 14:46:30 2014 -0500 remove hack commit a19d85a968d82e6d00292b49630ef6ff2dbf2f32 Author: Robert Muir <rmuir@apache.org> Date: Mon Nov 3 12:53:11 2014 -0500 dont create exceptions with circular references on corruption (will open a PR for this) commit 0beefb9e821d97c37e90ec556d81ac7b00369b8a Author: Robert Muir <rmuir@apache.org> Date: Mon Nov 3 11:47:14 2014 -0500 temporarily add craptastic detector for this horrible bug commit e9f2d298bff75f3d1591f8622441e459c3ce7ac3 Author: Robert Muir <rmuir@apache.org> Date: Mon Nov 3 10:56:01 2014 -0500 add nocommit commit e97f1d50a91a7129650b8effc7a9ecf74ca0569a Merge: c57a3c8 f1f50ac Author: Robert Muir <rmuir@apache.org> Date: Mon Nov 3 10:12:12 2014 -0500 Merge branch 'master' into enhancement/lucene_5_0_upgrade commit c57a3c8341ed61dca62eaf77fad6b8b48aeb6940 Author: Robert Muir <rmuir@apache.org> Date: Mon Nov 3 10:11:46 2014 -0500 fix nocommit commit dd0e77e4ec07c7011ab5f6b60b2ead33dc2333d2 Author: Robert Muir <rmuir@apache.org> Date: Mon Nov 3 09:54:09 2014 -0500 nocommit -> TODO, this is in much more places in the codebase, bigger issue commit 3cc3bf56d72d642059f8fe220d6f2fed608363e9 Author: Ryan Ernst <ryan@iernst.net> Date: Sat Nov 1 23:59:17 2014 -0700 Remove nocommit and awaitsfix for edge ngram filter test. commit 89f115245155511c0fbc0d5ee62e63141c3700c1 Author: Ryan Ernst <ryan@iernst.net> Date: Sat Nov 1 23:57:44 2014 -0700 Fix EdgeNGramTokenFilter logic for version <= 4.3, and fixed instanceof checks in corresponding tests to correctly check for reverse filter when applicable. commit 112df869cd199e36aab0e1a7a288bb1fdb2ebf1c Author: Robert Muir <rmuir@apache.org> Date: Sun Nov 2 00:08:30 2014 -0400 execute geo disjoint query/filter as intersects commit e5061273cc685f1252e9a3a9ae4877ec9bce7752 Author: Robert Muir <rmuir@apache.org> Date: Sat Nov 1 22:58:59 2014 -0400 remove chinese analyzer from docs commit ea1af11b8978fcc551f198e24fe21d52806993ef Author: Robert Muir <rmuir@apache.org> Date: Sat Nov 1 22:29:00 2014 -0400 fix ram accounting bug commit 53c0a42c6aa81aa6bf81d3aa77b95efd513e0f81 Merge: e3bcd3c 6011a18 Author: Robert Muir <rmuir@apache.org> Date: Sat Nov 1 22:16:29 2014 -0400 Merge branch 'master' into enhancement/lucene_5_0_upgrade commit e3bcd3cc07a4957e12c7b3affc462c31290a9186 Author: Robert Muir <rmuir@apache.org> Date: Sat Nov 1 22:15:01 2014 -0400 fix url-email back compat (thanks ryan) commit 91d6b096a96c357755abee167098607223be1aad Author: Robert Muir <rmuir@apache.org> Date: Sat Nov 1 22:11:26 2014 -0400 bump lucene version commit d2bb9568df72b37ec7050d25940160b8517394bc Author: Robert Muir <rmuir@apache.org> Date: Sat Nov 1 20:33:07 2014 -0400 remove nocommit commit 1d049c471e19e5c457262c7399c5bad9e023b2e3 Author: Robert Muir <rmuir@apache.org> Date: Sat Nov 1 20:28:58 2014 -0400 fix eclipse to group org/com imports together: without this, its madness commit 09d8c1585ee99b6e63be032732c04ef6fed84ed2 Author: Robert Muir <rmuir@apache.org> Date: Sat Nov 1 14:27:41 2014 -0400 remove nocommit, if you dont liek it, print assembly and tell me how it can be better commit 8a6a294313fdf33b50c7126ec20c07867ecd637c Author: Adrien Grand <jpountz@gmail.com> Date: Fri Oct 31 20:01:55 2014 +0100 Remove deprecated usage of DocIdSets.newDocIDSet. commit 601bee60543610558403298124a84b1b3bbd1045 Author: Robert Muir <rmuir@apache.org> Date: Fri Oct 31 14:13:18 2014 -0400 maybe one of these zillions of annotations will stop thread leaks commit 9d3f69abc7267c5e455aefa26db95cb554b02d62 Author: Robert Muir <rmuir@apache.org> Date: Fri Oct 31 14:05:39 2014 -0400 fix some analysis nocommits commit 312e3a29c77214b8142d21c33a6b2c2b151acf9a Author: Adrien Grand <jpountz@gmail.com> Date: Fri Oct 31 18:28:45 2014 +0100 Remove XConstantScoreQuery/XFilteredQuery/ApplyAcceptedDocsFilter. commit 5a0cb9f8e167215df7f1b1fad11eec6e6c74940f Author: Adrien Grand <jpountz@gmail.com> Date: Fri Oct 31 17:06:45 2014 +0100 Fix misleading documentation of DocIdSets.toCacheable. commit 8b4ef2b5b476fff4c79c0c2a0e4769ead26cf82b Author: Adrien Grand <jpountz@gmail.com> Date: Fri Oct 31 17:05:59 2014 +0100 Fix CustomRandomAccessFilterStrategy to override the right method. commit d7a9a407a615987cfffc651f724fbd8795c9c671 Author: Adrien Grand <jpountz@gmail.com> Date: Fri Oct 31 16:21:35 2014 +0100 Better handle the special case when there is a single SHOULD clause. commit 648ad389f07e92dfc451f345549c9841ba5e4c9a Author: Adrien Grand <jpountz@gmail.com> Date: Fri Oct 31 15:53:38 2014 +0100 Cut over XBooleanFilter to BitDocIdSet.Builder. The idea is similar to what happened to Lucene's BooleanFilter. Yet XBooleanFilter is a bit more sophisticated and I had to slightly change the way it is implemented in order to make it work. The main difference with before is that slow filters are now applied lazily, so eg. if you have 3 MUST clauses, two with a fast iterator and the third with a slow iterator, the previous implementation used to apply the fast iterators first and then only check the slow filter for bits which were set in the bit set. Now we are computing a bit set based on the fast must clauses and then basically returning a BitsFilteredDocIdSet.wrap(bitset, slowClause). Other than that, BooleanFilter still uses the bitset optimizations when or-ing and and-ind filters. Another improvement is that BooleanFilter is now aware of the cost API. commit b2dad312b4bc9f931dc3a25415dd81c0d9deee08 Author: Robert Muir <rmuir@apache.org> Date: Fri Oct 31 10:18:53 2014 -0400 clear nocommit commit 4851d2091e744294336dfade33906c75fbe695cd Author: Simon Willnauer <simonw@apache.org> Date: Fri Oct 31 15:15:16 2014 +0100 cut over to RoaringDocIdSet commit ca6aec24a901073e65ce4dd6b70964fd3612409e Author: Simon Willnauer <simonw@apache.org> Date: Fri Oct 31 14:57:30 2014 +0100 make nocommit more explicit commit d0742ee2cb7a6c48b0bbb31580b7fbcebdb6ec40 Author: Robert Muir <rmuir@apache.org> Date: Fri Oct 31 09:55:24 2014 -0400 fix standardtokenizer nocommit commit 7d6faccafff22a86af62af0384838391d46695ca Author: Simon Willnauer <simonw@apache.org> Date: Fri Oct 31 14:54:08 2014 +0100 fix compilation commit a038a405c1ff6458ad294e6b5bc469e622f699d0 Author: Simon Willnauer <simonw@apache.org> Date: Fri Oct 31 14:53:43 2014 +0100 fix compilation commit 30c9e307b1f5d80e2deca3392c0298682241207f Author: Simon Willnauer <simonw@apache.org> Date: Fri Oct 31 14:52:35 2014 +0100 fix compilation commit e5139bc5a0a9abd2bdc6ba0dfbcb7e3c2e7b8481 Author: Robert Muir <rmuir@apache.org> Date: Fri Oct 31 09:52:16 2014 -0400 clear nocommit here commit 85dd2cedf7a7994bed871ac421cfda06aaf5c0a5 Author: Simon Willnauer <simonw@apache.org> Date: Fri Oct 31 14:46:17 2014 +0100 fix CompletionPostingsFormatTest commit c0f3781f616c9b0ee3b5c4d0998810f595868649 Author: Robert Muir <rmuir@apache.org> Date: Fri Oct 31 09:38:00 2014 -0400 add tests for these analyzers commit 51f9999b4ad079c283ae762c862fd0e22d00445f Author: Simon Willnauer <simonw@apache.org> Date: Fri Oct 31 14:10:26 2014 +0100 remove nocommit - this is not an issue commit fd1388fa03e622b0738601c8aeb2dbf7949a6dd2 Author: Martijn van Groningen <martijn.v.groningen@gmail.com> Date: Fri Oct 31 14:07:01 2014 +0100 Remove redundant null check commit 3d6dd51b0927337ba941a235446b22e8cd500dc3 Author: Martijn van Groningen <martijn.v.groningen@gmail.com> Date: Fri Oct 31 14:01:37 2014 +0100 Removed the work around to prevent p/c error when invoking #iterator() twice, because the custom query filter wrapper now doesn't transform the result to a cache doc id set any more. I think the transforming to a cachable doc id set in CustomQueryWrappingFilter isn't needed at all, because we use the DocIdSet only once and because of that is just slowed things down. commit 821832a537e00cd1216064b379df3e01d2911d3a Author: Simon Willnauer <simonw@apache.org> Date: Fri Oct 31 13:54:33 2014 +0100 one more nocommit commit 77eb9ea4c4ea50afb2680c29682ddcb3851a9d4f Author: Martijn van Groningen <martijn.v.groningen@gmail.com> Date: Fri Oct 31 13:52:29 2014 +0100 Remove cast commit a400573c034ed602221f801b20a58a9186a06eae Author: Simon Willnauer <simonw@apache.org> Date: Fri Oct 31 13:49:24 2014 +0100 fix stop filter commit 51746087cf8ec34c4d20aa05ba8dbff7b3b43eec Author: Simon Willnauer <simonw@apache.org> Date: Fri Oct 31 13:21:36 2014 +0100 fix changed semantics of FBS.nextSetBit to check for NO_MORE_DOCS commit 8d0a4e2511310f1293860823fe3ba80ac771bbe3 Author: Robert Muir <rmuir@apache.org> Date: Fri Oct 31 08:13:44 2014 -0400 do the bogus cast differently commit 46a5cc5732dea096c0c80ae5ce42911c9c51e44e Author: Simon Willnauer <simonw@apache.org> Date: Fri Oct 31 13:00:16 2014 +0100 I hate it but P/C now passes commit 580c0c2f82bbeacf217e594f22312b11d1bdb839 Merge: a9d3c00 1645434 Author: Robert Muir <rmuir@apache.org> Date: Fri Oct 31 06:54:31 2014 -0400 fix nocommit/classcast commit a9d3c004d62fe04989f49a897e6ff84973c06eb9 Author: Adrien Grand <jpountz@gmail.com> Date: Fri Oct 31 08:49:31 2014 +0100 Update TODO. commit aa75af0b407792aeef32017f03a6f442ed970baa Author: Robert Muir <rmuir@apache.org> Date: Thu Oct 30 19:18:25 2014 -0400 clear obselete nocommits from lucene bump commit d438534cf41fcbe2d88070e2f27c994625e082c2 Author: Robert Muir <rmuir@apache.org> Date: Thu Oct 30 18:53:20 2014 -0400 throw classcastexception when ES abuses regular filtercache for nested docs commit 2c751f3a8feda43ec127c34769b069de21f3d16f Author: Robert Muir <rmuir@apache.org> Date: Thu Oct 30 18:31:34 2014 -0400 bump lucene revision, fix tests commit d6ef7f6304ae262bf6228a7d661b2a452df332be Author: Simon Willnauer <simonw@apache.org> Date: Thu Oct 30 22:37:58 2014 +0100 fix merge problems commit de9d361f88a9ce6bb3fba85285de41f223c95767 Merge: 41f6aab f6b37a3 Author: Simon Willnauer <simonw@apache.org> Date: Thu Oct 30 22:28:59 2014 +0100 Merge branch 'master' into enhancement/lucene_5_0_upgrade Conflicts: pom.xml src/main/java/org/elasticsearch/Version.java src/main/java/org/elasticsearch/gateway/local/state/meta/MetaDataStateFormat.java commit 41f6aab388aa80c40b08a2facab2617576203a0d Author: Simon Willnauer <simonw@apache.org> Date: Thu Oct 30 17:48:46 2014 +0100 fix potiential NPE commit c4428b12e1ae838b91e847df8b4a8be7f49e10f4 Author: Simon Willnauer <simonw@apache.org> Date: Thu Oct 30 17:38:46 2014 +0100 don't advance iterator in a match(doc) method commit 28ab948e99e3ea4497c9b1e468384806ba7e1790 Author: Simon Willnauer <simonw@apache.org> Date: Thu Oct 30 17:34:58 2014 +0100 don't advance iterator in a match(doc) method commit eb0f33f6634fadfcf4b2bf7327400e568f0427bb Author: Simon Willnauer <simonw@apache.org> Date: Thu Oct 30 16:55:54 2014 +0100 fix GeoUtilsTest commit 7f711fe3eaf73b6c2268cf42d5a41132a61ad831 Author: Simon Willnauer <simonw@apache.org> Date: Thu Oct 30 16:43:16 2014 +0100 Use a dedicated default index option if field type is not indexed by default commit 78e3f37ab779e3e1b25b45a742cc86ab5f975149 Author: Robert Muir <rmuir@apache.org> Date: Thu Oct 30 10:56:14 2014 -0400 disable this test with AwaitsFix to reduce noise commit 9a590f563c8e03a99ecf0505c92d12d7ab20d11d Author: Simon Willnauer <simonw@apache.org> Date: Thu Oct 30 09:38:49 2014 +0100 fix lucene version commit abe3ca1d8bb6b5101b545198f59aec44bacfa741 Author: Simon Willnauer <simonw@apache.org> Date: Thu Oct 30 09:35:05 2014 +0100 fix AnalyzingCompletionLookupProvider to wrok with new codec API commit 464293b245852d60bde050c6d3feb5907dcfbf5f Author: Robert Muir <rmuir@apache.org> Date: Thu Oct 30 00:26:00 2014 -0400 don't try to write stuff to tests class directory commit 031cc6c19f4fe4423a034b515f77e5a0e282a124 Author: Robert Muir <rmuir@apache.org> Date: Thu Oct 30 00:12:36 2014 -0400 AwaitsFix these known issues to reduce noise commit 4600d51891e35847f2d344247d6f915a0605c0d1 Author: Robert Muir <rmuir@apache.org> Date: Thu Oct 30 00:06:53 2014 -0400 openbitset lives on commit 8492bae056249e2555d24acd55f1046b66a667c4 Author: Robert Muir <rmuir@apache.org> Date: Wed Oct 29 23:42:54 2014 -0400 fixes for filter tests commit 31f24ce4efeda31f97eafdb122346c7047a53bf2 Author: Robert Muir <rmuir@apache.org> Date: Wed Oct 29 23:12:38 2014 -0400 don't use fieldcache commit 8480789942fdff14a6d2b2cd8134502fe62f20c8 Author: Robert Muir <rmuir@apache.org> Date: Wed Oct 29 23:04:29 2014 -0400 ancient index no longer supported commit 02e78dc7ebdd827533009f542582e8db44309c57 Author: Simon Willnauer <simonw@apache.org> Date: Wed Oct 29 23:37:02 2014 +0100 fix more tests commit ff746c6df23c50b3f3ec24922413b962c8983080 Author: Simon Willnauer <simonw@apache.org> Date: Wed Oct 29 23:08:19 2014 +0100 fix all mapper commit e4fb84b517107b25cb064c66f83c9aa814a311b2 Author: Simon Willnauer <simonw@apache.org> Date: Wed Oct 29 22:55:54 2014 +0100 fix distributor tests and cut over to FileStore API commit 20c850e2cfe3210cd1fb9e232afed8d4ac045857 Author: Simon Willnauer <simonw@apache.org> Date: Wed Oct 29 22:42:18 2014 +0100 use DOCS_ONLY if index=true and current options == null commit 44169c108418413cfe51f5ce23ab82047463e4c2 Author: Simon Willnauer <simonw@apache.org> Date: Wed Oct 29 22:33:36 2014 +0100 Fix index=yes|no settings in mappers commit a3c5f77987461a18121156ed345d42ded301c566 Author: Simon Willnauer <simonw@apache.org> Date: Wed Oct 29 21:51:41 2014 +0100 fix several field mappers conversion from setIndexed to indexOptions commit df84d736908e88a031d710f98e222be68ae96af1 Author: Simon Willnauer <simonw@apache.org> Date: Wed Oct 29 21:33:35 2014 +0100 fix SourceFieldMapper to be not indexed commit b2bf01d12a8271a31fb2df601162d0e89924c8f5 Author: Simon Willnauer <simonw@apache.org> Date: Wed Oct 29 21:23:08 2014 +0100 Cut over to .liv files in store and corruption tests commit 619004df436f9ef05d24bef1b6a7f084c6b0ad75 Author: Simon Willnauer <simonw@apache.org> Date: Wed Oct 29 17:05:52 2014 +0100 fix more tests commit b7ed653a8b464de446e00456bce0a89e47627c38 Author: Simon Willnauer <simonw@apache.org> Date: Wed Oct 29 16:19:08 2014 +0100 [STORE] Add dedicated method to write temporary files Recovery writes temporary files which might not end up in the right distributor directories today. This commit adds a dedicated API that allows specifying the target file name in order to create the tempoary file in the correct directory. commit 7d574659f6ae04adc2b857146ad0d8d56ca66f12 Author: Robert Muir <rmuir@apache.org> Date: Wed Oct 29 10:28:49 2014 -0400 add some leniency to temporary bogus method commit f97022ea7c2259f7a5cf97d924c59ed75ab65b32 Author: Robert Muir <rmuir@apache.org> Date: Wed Oct 29 10:24:17 2014 -0400 fix MultiCollector bug commit b760533128c2b4eb10ad76e9689ef714293dd819 Author: Simon Willnauer <simonw@apache.org> Date: Wed Oct 29 14:56:08 2014 +0100 CheckIndex is now closeable we need to close it commit 9dae9fb6d63546a6c2427be2a2d5c8358f5b1934 Author: Simon Willnauer <simonw@apache.org> Date: Wed Oct 29 14:45:11 2014 +0100 s/Lucene51/Lucene50 commit 7aea9b86856a8c1b06a08e7c312ede1168af1287 Author: Simon Willnauer <simonw@apache.org> Date: Wed Oct 29 14:42:30 2014 +0100 fix BloomFilterPostingsFormat commit 16fea6fe842e88665d59cc091e8224e8dc6ce08c Author: Simon Willnauer <simonw@apache.org> Date: Wed Oct 29 14:41:16 2014 +0100 fix some codec format issues commit 3d77aa97dd2c4012b63befef3f2ba2525965e8a6 Author: Simon Willnauer <simonw@apache.org> Date: Wed Oct 29 14:30:43 2014 +0100 fix CodecTests commit 6ef823b1fde25657438ace1aabd9d552d6ae215e Author: Simon Willnauer <simonw@apache.org> Date: Wed Oct 29 14:26:47 2014 +0100 make it compile commit 9991eee1fe99435118d4dd42b297ffc83fce5ec5 Author: Robert Muir <rmuir@apache.org> Date: Wed Oct 29 09:12:43 2014 -0400 add an ugly hack for TopHitsAggregator for now commit 03e768a01fcae6b1f4cb50bcceec7d42977ac3e6 Author: Simon Willnauer <simonw@apache.org> Date: Wed Oct 29 14:01:02 2014 +0100 cut over ES090PostingsFormat commit 463d281faadb794fdde3b469326bdaada25af048 Merge: 0f8740a 8eac79c Author: Robert Muir <rmuir@apache.org> Date: Wed Oct 29 08:30:36 2014 -0400 Merge branch 'master' into enhancement/lucene_5_0_upgrade commit 0f8740a782455a63524a5a82169f6bbbfc613518 Author: Robert Muir <rmuir@apache.org> Date: Wed Oct 29 01:00:15 2014 -0400 fix/hack remaining filter and analysis issues commit df534488569da13b31d66e581456dfd4b55156b9 Author: Robert Muir <rmuir@apache.org> Date: Tue Oct 28 23:11:47 2014 -0400 fix ngrams / openbitset usage commit 11f5dc3b9887f4da80a0fa1818e1350b30599329 Author: Robert Muir <rmuir@apache.org> Date: Tue Oct 28 22:42:44 2014 -0400 hack over sort comparators commit 4ebdc754350f512596f6a02770d223e9f5f7975a Author: Robert Muir <rmuir@apache.org> Date: Tue Oct 28 21:27:07 2014 -0400 compiler errors < 100 commit 2d60c9e29de48ccb0347dd87f7201f47b67b83a0 Author: Robert Muir <rmuir@apache.org> Date: Tue Oct 28 03:13:08 2014 -0400 clear some nocommits around ram usage commit aaf47fe6c0aabcfb2581dd456fc50edf871da758 Author: Robert Muir <rmuir@apache.org> Date: Mon Oct 27 12:27:34 2014 -0400 migrate fieldinfo handling commit ef6ed6d15d8def71cd880d97249678136cd29fe3 Author: Robert Muir <rmuir@apache.org> Date: Mon Oct 27 12:07:13 2014 -0400 more simple fixes commit f475e1048ae697dd9da5bd9da445102b0b7bc5b3 Author: Robert Muir <rmuir@apache.org> Date: Mon Oct 27 11:58:21 2014 -0400 more fielddata ram accounting fixes commit 16b4239eaa9b4262df258257df4f31d39f28a3a2 Author: Simon Willnauer <simonw@apache.org> Date: Mon Oct 27 16:47:32 2014 +0100 add missing file commit 5b542fa2a6da81e36a0c35b8e891a1d8bc58f663 Author: Simon Willnauer <simonw@apache.org> Date: Mon Oct 27 16:43:29 2014 +0100 cut over completion posting formats - still some nocommits commit ecdea49404c4ec4e1b78fb54575825f21b4e096e Author: Robert Muir <rmuir@apache.org> Date: Mon Oct 27 11:21:09 2014 -0400 fielddata accountable fixes commit d43da265718917e20c8264abd43342069198fe9c Author: Simon Willnauer <simonw@apache.org> Date: Mon Oct 27 16:19:53 2014 +0100 cut over BloomFilterPostings to new API commit 29b192ba621c14820175775d01242162b88bd364 Author: Robert Muir <rmuir@apache.org> Date: Mon Oct 27 10:22:51 2014 -0400 fix more analyzers commit 74b4a0c5283e323a7d02490df469497c722780d2 Author: Robert Muir <rmuir@apache.org> Date: Mon Oct 27 09:54:25 2014 -0400 fix tests commit 554084ccb4779dd6b1c65fa7212ad1f64f3a6968 Author: Simon Willnauer <simonw@apache.org> Date: Mon Oct 27 14:51:48 2014 +0100 maintain supressed exceptions on CorruptIndexException commit cf882d9112c5e8ef1e9f2b0f800f7aa59001a4f2 Author: Simon Willnauer <simonw@apache.org> Date: Mon Oct 27 14:47:17 2014 +0100 commitOnClose=false commit ebb2a9189ab2f459b7c6c9985be610fd90dfe410 Author: Simon Willnauer <simonw@apache.org> Date: Mon Oct 27 14:46:06 2014 +0100 cut over indexwriter closeing in InternalEngine commit cd21b3d4706f0b562bd37792d077d60832aff65f Author: Simon Willnauer <simonw@apache.org> Date: Mon Oct 27 14:38:10 2014 +0100 fix constant commit f93f900c4a1c90af3a21a4af5735a7536423fe28 Author: Robert Muir <rmuir@apache.org> Date: Mon Oct 27 09:50:49 2014 -0400 fix test commit a9a752940b1ab4699a6a08ba8b34afca82b843fe Author: Martijn van Groningen <martijn.v.groningen@gmail.com> Date: Mon Oct 27 09:26:18 2014 +0100 Be explicit about the index options commit d9ee815babd030fa2ceaec9f467c105ee755bf6b Author: Simon Willnauer <simonw@apache.org> Date: Sun Oct 26 20:03:44 2014 +0100 cut over store and directory commit b3f5c8e39039dd8f5caac0c4dd1fc3b1116e64ca Author: Robert Muir <rmuir@apache.org> Date: Sun Oct 26 13:08:39 2014 -0400 more test fixes commit 8842f2684e3606aae0860c27f7a4c53e273d47fb Author: Robert Muir <rmuir@apache.org> Date: Sun Oct 26 12:14:52 2014 -0400 tests manual labor commit c43de5aec337919a3fdc3638406dff17fc80bc98 Author: Robert Muir <rmuir@apache.org> Date: Sun Oct 26 11:04:13 2014 -0400 BytesRef -> BytesRefBuilder commit 020c0d087a2f37566a1db390b0e044ebab030138 Author: Martijn van Groningen <martijn.v.groningen@gmail.com> Date: Sun Oct 26 15:53:37 2014 +0100 Moved over to BitSetFilter commit 48dd1b909e6c52cef733961c9ecebfe4f67109fe Author: Martijn van Groningen <martijn.v.groningen@gmail.com> Date: Sun Oct 26 15:53:11 2014 +0100 Left over Collector api change in ScanContext commit 6ec248ef63f262bcda400181b838fd9244752625 Author: Martijn van Groningen <martijn.v.groningen@gmail.com> Date: Sun Oct 26 15:47:40 2014 +0100 Moved indexed() over to indexOptions != null or indexOptions == null commit 9937aebfd8546ae4bb652cd976b3b43ac5ab7a63 Author: Martijn van Groningen <martijn.v.groningen@gmail.com> Date: Sun Oct 26 13:26:31 2014 +0100 Fixed many compile errors. Mainly around the breaking Collector api change in 5.0. commit fec32c4abc0e3309cf34260c8816305a6f820c9e Author: Robert Muir <rmuir@apache.org> Date: Sat Oct 25 11:22:17 2014 -0400 more easy fixes commit dab22531d801800d17a65dc7c9464148ce8ebffd Author: Robert Muir <rmuir@apache.org> Date: Sat Oct 25 09:33:41 2014 -0400 more progress commit 414767e9a955010076b0497cc4f6d0c1850b48d3 Author: Robert Muir <rmuir@apache.org> Date: Sat Oct 25 06:33:17 2014 -0400 more progress commit ad9d969fddf139a8830254d3eb36a908ba87cc12 Author: Robert Muir <rmuir@apache.org> Date: Fri Oct 24 14:28:01 2014 -0400 current state of fun commit 464475eecb0be15d7d084135ed16051f76a7e521 Author: Robert Muir <rmuir@apache.org> Date: Fri Oct 24 11:42:41 2014 -0400 bump to 5.0 snapshot
2014-11-05 15:48:51 -05:00
<dependency>
<groupId>org.apache.lucene</groupId>
<artifactId>lucene-backward-codecs</artifactId>
<version>${lucene.maven.version}</version>
<scope>compile</scope>
</dependency>
2011-12-05 18:05:44 -05:00
<dependency>
<groupId>org.apache.lucene</groupId>
2012-10-25 15:51:34 -04:00
<artifactId>lucene-analyzers-common</artifactId>
<version>${lucene.maven.version}</version>
2012-10-25 16:43:32 -04:00
<scope>compile</scope>
</dependency>
2011-12-05 18:05:44 -05:00
<dependency>
<groupId>org.apache.lucene</groupId>
<artifactId>lucene-queries</artifactId>
<version>${lucene.maven.version}</version>
2011-12-05 18:05:44 -05:00
<scope>compile</scope>
2011-12-06 06:41:49 -05:00
<exclusions>
<exclusion>
<groupId>jakarta-regexp</groupId>
<artifactId>jakarta-regexp</artifactId>
</exclusion>
</exclusions>
2011-12-05 18:05:44 -05:00
</dependency>
<dependency>
<groupId>org.apache.lucene</groupId>
<artifactId>lucene-memory</artifactId>
<version>${lucene.maven.version}</version>
2011-12-05 18:05:44 -05:00
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.apache.lucene</groupId>
<artifactId>lucene-highlighter</artifactId>
<version>${lucene.maven.version}</version>
2011-12-05 18:05:44 -05:00
<scope>compile</scope>
</dependency>
2012-12-02 16:29:49 -05:00
<dependency>
<groupId>org.apache.lucene</groupId>
<artifactId>lucene-queryparser</artifactId>
<version>${lucene.maven.version}</version>
<scope>compile</scope>
2013-02-23 04:52:30 -05:00
<exclusions>
<exclusion>
<groupId>jakarta-regexp</groupId>
<artifactId>jakarta-regexp</artifactId>
</exclusion>
</exclusions>
</dependency>
Added suggest api. # Suggest feature The suggest feature suggests similar looking terms based on a provided text by using a suggester. At the moment there the only supported suggester is `fuzzy`. The suggest feature is available since version `0.21.0`. # Fuzzy suggester The `fuzzy` suggester suggests terms based on edit distance. The provided suggest text is analyzed before terms are suggested. The suggested terms are provided per analyzed suggest text token. The `fuzzy` suggester doesn't take the query into account that is part of request. # Suggest API The suggest request part is defined along side the query part as top field in the json request. ``` curl -s -XPOST 'localhost:9200/_search' -d '{ "query" : { ... }, "suggest" : { ... } }' ``` Several suggestions can be specified per request. Each suggestion is identified with an arbitary name. In the example below two suggestions are requested. The `my-suggest-1` suggestion uses the `body` field and `my-suggest-2` uses the `title` field. The `type` field is a required field and defines what suggester to use for a suggestion. ``` "suggest" : { "suggestions" : { "my-suggest-1" : { "type" : "fuzzy", "field" : "body", "text" : "the amsterdma meetpu" }, "my-suggest-2" : { "type" : "fuzzy", "field" : "title", "text" : "the rottredam meetpu" } } } ``` The below suggest response example includes the suggestions part for `my-suggest-1` and `my-suggest-2`. Each suggestion part contains a terms array, that contains all terms outputted by the analyzed suggest text. Each term object includes the term itself, the original start and end offset in the suggest text and if found an arbitary number of suggestions. ``` { ... "suggest": { "my-suggest-1": { "terms" : [ { "term" : "amsterdma", "start_offset": 5, "end_offset": 14, "suggestions": [ ... ] } ... ] }, "my-suggest-2" : { "terms" : [ ... ] } } ``` Each suggestions array contains a suggestion object that includes the suggested term, its document frequency and score compared to the suggest text term. The meaning of the score depends on the used suggester. The fuzzy suggester's score is based on the edit distance. ``` "suggestions": [ { "term": "amsterdam", "frequency": 77, "score": 0.8888889 }, ... ] ``` # Global suggest text To avoid repitition of the suggest text, it is possible to define a global text. In the example below the suggest text is a global option and applies to the `my-suggest-1` and `my-suggest-2` suggestions. ``` "suggest" : { "suggestions" : { "text" : "the amsterdma meetpu", "my-suggest-1" : { "type" : "fuzzy", "field" : "title" }, "my-suggest-2" : { "type" : "fuzzy", "field" : "body" } } } ``` The suggest text can be specied as global option or as suggestion specific option. The suggest text specified on suggestion level override the suggest text on the global level. # Other suggest example. In the below example we request suggestions for the following suggest text: `devloping distibutd saerch engies` on the `title` field with a maximum of 3 suggestions per term inside the suggest text. Note that in this example we use the `count` search type. This isn't required, but a nice optimalization. The suggestions are gather in the `query` phase and in the case that we only care about suggestions (so no hits) we don't need to execute the `fetch` phase. ``` curl -s -XPOST 'localhost:9200/_search?search_type=count' -d '{ "suggest" : { "suggestions" : { "my-title-suggestions" : { "suggester" : "fuzzy", "field" : "title", "text" : "devloping distibutd saerch engies", "size" : 3 } } } }' ``` The above request could yield the response as stated in the code example below. As you can see if we take the first suggested term of each suggest text term we get `developing distributed search engines` as result. ``` { ... "suggest": { "my-title-suggestions": { "terms": [ { "term": "devloping", "start_offset": 0, "end_offset": 9, "suggestions": [ { "term": "developing", "frequency": 77, "score": 0.8888889 }, { "term": "deloping", "frequency": 1, "score": 0.875 }, { "term": "deploying", "frequency": 2, "score": 0.7777778 } ] }, { "term": "distibutd", "start_offset": 10, "end_offset": 19, "suggestions": [ { "term": "distributed", "frequency": 217, "score": 0.7777778 }, { "term": "disributed", "frequency": 1, "score": 0.7777778 }, { "term": "distribute", "frequency": 1, "score": 0.7777778 } ] }, { "term": "saerch", "start_offset": 20, "end_offset": 26, "suggestions": [ { "term": "search", "frequency": 1038, "score": 0.8333333 }, { "term": "smerch", "frequency": 3, "score": 0.8333333 }, { "term": "serch", "frequency": 2, "score": 0.8 } ] }, { "term": "engies", "start_offset": 27, "end_offset": 33, "suggestions": [ { "term": "engines", "frequency": 568, "score": 0.8333333 }, { "term": "engles", "frequency": 3, "score": 0.8333333 }, { "term": "eggies", "frequency": 1, "score": 0.8333333 } ] } ] } } ... } ``` # Common suggest options: * `suggester` - The suggester implementation type. The only supported value is 'fuzzy'. This is a required option. * `text` - The suggest text. The suggest text is a required option that needs to be set globally or per suggestion. # Common fuzzy suggest options * `field` - The field to fetch the candidate suggestions from. This is an required option that either needs to be set globally or per suggestion. * `analyzer` - The analyzer to analyse the suggest text with. Defaults to the search analyzer of the suggest field. * `size` - The maximum corrections to be returned per suggest text token. * `sort` - Defines how suggestions should be sorted per suggest text term. Two possible value: ** `score` - Sort by sore first, then document frequency and then the term itself. ** `frequency` - Sort by document frequency first, then simlarity score and then the term itself. * `suggest_mode` - The suggest mode controls what suggestions are included or controls for what suggest text terms, suggestions should be suggested. Three possible values can be specified: ** `missing` - Only suggest terms in the suggest text that aren't in the index. This is the default. ** `popular` - Only suggest suggestions that occur in more docs then the original suggest text term. ** `always` - Suggest any matching suggestions based on terms in the suggest text. # Other fuzzy suggest options: * `lowercase_terms` - Lower cases the suggest text terms after text analyzation. * `max_edits` - The maximum edit distance candidate suggestions can have in order to be considered as a suggestion. Can only be a value between 1 and 2. Any other value result in an bad request error being thrown. Defaults to 2. * `min_prefix` - The number of minimal prefix characters that must match in order be a candidate suggestions. Defaults to 1. Increasing this number improves spellcheck performance. Usually misspellings don't occur in the beginning of terms. * `min_query_length` - The minimum length a suggest text term must have in order to be included. Defaults to 4. * `shard_size` - Sets the maximum number of suggestions to be retrieved from each individual shard. During the reduce phase only the top N suggestions are returned based on the `size` option. Defaults to the `size` option. Setting this to a value higher than the `size` can be useful in order to get a more accurate document frequency for spelling corrections at the cost of performance. Due to the fact that terms are partitioned amongst shards, the shard level document frequencies of spelling corrections may not be precise. Increasing this will make these document frequencies more precise. * `max_inspections` - A factor that is used to multiply with the `shards_size` in order to inspect more candidate spell corrections on the shard level. Can improve accuracy at the cost of performance. Defaults to 5. * `threshold_frequency` - The minimal threshold in number of documents a suggestion should appear in. This can be specified as an absolute number or as a relative percentage of number of documents. This can improve quality by only suggesting high frequency terms. Defaults to 0f and is not enabled. If a value higher than 1 is specified then the number cannot be fractional. The shard level document frequencies are used for this option. * `max_query_frequency` - The maximum threshold in number of documents a sugges text token can exist in order to be included. Can be a relative percentage number (e.g 0.4) or an absolute number to represent document frequencies. If an value higher than 1 is specified then fractional can not be specified. Defaults to 0.01f. This can be used to exclude high frequency terms from being spellchecked. High frequency terms are usually spelled correctly on top of this this also improves the spellcheck performance. The shard level document frequencies are used for this option. Closes #2585
2013-01-24 09:38:35 -05:00
<dependency>
<groupId>org.apache.lucene</groupId>
<artifactId>lucene-suggest</artifactId>
<version>${lucene.maven.version}</version>
Added suggest api. # Suggest feature The suggest feature suggests similar looking terms based on a provided text by using a suggester. At the moment there the only supported suggester is `fuzzy`. The suggest feature is available since version `0.21.0`. # Fuzzy suggester The `fuzzy` suggester suggests terms based on edit distance. The provided suggest text is analyzed before terms are suggested. The suggested terms are provided per analyzed suggest text token. The `fuzzy` suggester doesn't take the query into account that is part of request. # Suggest API The suggest request part is defined along side the query part as top field in the json request. ``` curl -s -XPOST 'localhost:9200/_search' -d '{ "query" : { ... }, "suggest" : { ... } }' ``` Several suggestions can be specified per request. Each suggestion is identified with an arbitary name. In the example below two suggestions are requested. The `my-suggest-1` suggestion uses the `body` field and `my-suggest-2` uses the `title` field. The `type` field is a required field and defines what suggester to use for a suggestion. ``` "suggest" : { "suggestions" : { "my-suggest-1" : { "type" : "fuzzy", "field" : "body", "text" : "the amsterdma meetpu" }, "my-suggest-2" : { "type" : "fuzzy", "field" : "title", "text" : "the rottredam meetpu" } } } ``` The below suggest response example includes the suggestions part for `my-suggest-1` and `my-suggest-2`. Each suggestion part contains a terms array, that contains all terms outputted by the analyzed suggest text. Each term object includes the term itself, the original start and end offset in the suggest text and if found an arbitary number of suggestions. ``` { ... "suggest": { "my-suggest-1": { "terms" : [ { "term" : "amsterdma", "start_offset": 5, "end_offset": 14, "suggestions": [ ... ] } ... ] }, "my-suggest-2" : { "terms" : [ ... ] } } ``` Each suggestions array contains a suggestion object that includes the suggested term, its document frequency and score compared to the suggest text term. The meaning of the score depends on the used suggester. The fuzzy suggester's score is based on the edit distance. ``` "suggestions": [ { "term": "amsterdam", "frequency": 77, "score": 0.8888889 }, ... ] ``` # Global suggest text To avoid repitition of the suggest text, it is possible to define a global text. In the example below the suggest text is a global option and applies to the `my-suggest-1` and `my-suggest-2` suggestions. ``` "suggest" : { "suggestions" : { "text" : "the amsterdma meetpu", "my-suggest-1" : { "type" : "fuzzy", "field" : "title" }, "my-suggest-2" : { "type" : "fuzzy", "field" : "body" } } } ``` The suggest text can be specied as global option or as suggestion specific option. The suggest text specified on suggestion level override the suggest text on the global level. # Other suggest example. In the below example we request suggestions for the following suggest text: `devloping distibutd saerch engies` on the `title` field with a maximum of 3 suggestions per term inside the suggest text. Note that in this example we use the `count` search type. This isn't required, but a nice optimalization. The suggestions are gather in the `query` phase and in the case that we only care about suggestions (so no hits) we don't need to execute the `fetch` phase. ``` curl -s -XPOST 'localhost:9200/_search?search_type=count' -d '{ "suggest" : { "suggestions" : { "my-title-suggestions" : { "suggester" : "fuzzy", "field" : "title", "text" : "devloping distibutd saerch engies", "size" : 3 } } } }' ``` The above request could yield the response as stated in the code example below. As you can see if we take the first suggested term of each suggest text term we get `developing distributed search engines` as result. ``` { ... "suggest": { "my-title-suggestions": { "terms": [ { "term": "devloping", "start_offset": 0, "end_offset": 9, "suggestions": [ { "term": "developing", "frequency": 77, "score": 0.8888889 }, { "term": "deloping", "frequency": 1, "score": 0.875 }, { "term": "deploying", "frequency": 2, "score": 0.7777778 } ] }, { "term": "distibutd", "start_offset": 10, "end_offset": 19, "suggestions": [ { "term": "distributed", "frequency": 217, "score": 0.7777778 }, { "term": "disributed", "frequency": 1, "score": 0.7777778 }, { "term": "distribute", "frequency": 1, "score": 0.7777778 } ] }, { "term": "saerch", "start_offset": 20, "end_offset": 26, "suggestions": [ { "term": "search", "frequency": 1038, "score": 0.8333333 }, { "term": "smerch", "frequency": 3, "score": 0.8333333 }, { "term": "serch", "frequency": 2, "score": 0.8 } ] }, { "term": "engies", "start_offset": 27, "end_offset": 33, "suggestions": [ { "term": "engines", "frequency": 568, "score": 0.8333333 }, { "term": "engles", "frequency": 3, "score": 0.8333333 }, { "term": "eggies", "frequency": 1, "score": 0.8333333 } ] } ] } } ... } ``` # Common suggest options: * `suggester` - The suggester implementation type. The only supported value is 'fuzzy'. This is a required option. * `text` - The suggest text. The suggest text is a required option that needs to be set globally or per suggestion. # Common fuzzy suggest options * `field` - The field to fetch the candidate suggestions from. This is an required option that either needs to be set globally or per suggestion. * `analyzer` - The analyzer to analyse the suggest text with. Defaults to the search analyzer of the suggest field. * `size` - The maximum corrections to be returned per suggest text token. * `sort` - Defines how suggestions should be sorted per suggest text term. Two possible value: ** `score` - Sort by sore first, then document frequency and then the term itself. ** `frequency` - Sort by document frequency first, then simlarity score and then the term itself. * `suggest_mode` - The suggest mode controls what suggestions are included or controls for what suggest text terms, suggestions should be suggested. Three possible values can be specified: ** `missing` - Only suggest terms in the suggest text that aren't in the index. This is the default. ** `popular` - Only suggest suggestions that occur in more docs then the original suggest text term. ** `always` - Suggest any matching suggestions based on terms in the suggest text. # Other fuzzy suggest options: * `lowercase_terms` - Lower cases the suggest text terms after text analyzation. * `max_edits` - The maximum edit distance candidate suggestions can have in order to be considered as a suggestion. Can only be a value between 1 and 2. Any other value result in an bad request error being thrown. Defaults to 2. * `min_prefix` - The number of minimal prefix characters that must match in order be a candidate suggestions. Defaults to 1. Increasing this number improves spellcheck performance. Usually misspellings don't occur in the beginning of terms. * `min_query_length` - The minimum length a suggest text term must have in order to be included. Defaults to 4. * `shard_size` - Sets the maximum number of suggestions to be retrieved from each individual shard. During the reduce phase only the top N suggestions are returned based on the `size` option. Defaults to the `size` option. Setting this to a value higher than the `size` can be useful in order to get a more accurate document frequency for spelling corrections at the cost of performance. Due to the fact that terms are partitioned amongst shards, the shard level document frequencies of spelling corrections may not be precise. Increasing this will make these document frequencies more precise. * `max_inspections` - A factor that is used to multiply with the `shards_size` in order to inspect more candidate spell corrections on the shard level. Can improve accuracy at the cost of performance. Defaults to 5. * `threshold_frequency` - The minimal threshold in number of documents a suggestion should appear in. This can be specified as an absolute number or as a relative percentage of number of documents. This can improve quality by only suggesting high frequency terms. Defaults to 0f and is not enabled. If a value higher than 1 is specified then the number cannot be fractional. The shard level document frequencies are used for this option. * `max_query_frequency` - The maximum threshold in number of documents a sugges text token can exist in order to be included. Can be a relative percentage number (e.g 0.4) or an absolute number to represent document frequencies. If an value higher than 1 is specified then fractional can not be specified. Defaults to 0.01f. This can be used to exclude high frequency terms from being spellchecked. High frequency terms are usually spelled correctly on top of this this also improves the spellcheck performance. The shard level document frequencies are used for this option. Closes #2585
2013-01-24 09:38:35 -05:00
<scope>compile</scope>
</dependency>
Remove scope support in query and facet dsl. Remove support for the `scope` field in facets and `_scope` field in the nested and parent/child queries. The scope support for nested queries will be replaced by the `nested` facet option and a facet filter with a nested filter. The nested filters will now support the a `join` option. Which controls whether to perform the block join. By default this enabled, but when disabled it returns the nested documents as hits instead of the joined root document. Search request with the current scope support. ``` curl -s -XPOST 'localhost:9200/products/_search' -d '{ "query" : { "nested" : { "path" : "offers", "query" : { "match" : { "offers.color" : "blue" } }, "_scope" : "my_scope" } }, "facets" : { "size" : { "terms" : { "field" : "offers.size" }, "scope" : "my_scope" } } }' ``` The following will be functional equivalent of using the scope support: ``` curl -s -XPOST 'localhost:9200/products/_search?search_type=count' -d '{ "query" : { "nested" : { "path" : "offers", "query" : { "match" : { "offers.color" : "blue" } } } }, "facets" : { "size" : { "terms" : { "field" : "offers.size" }, "facet_filter" : { "nested" : { "path" : "offers", "query" : { "match" : { "offers.color" : "blue" } }, "join" : false } }, "nested" : "offers" } } }' ``` The scope support for parent/child queries will be replaced by running the child query as filter in a global facet. Search request with the current scope support: ``` curl -s -XPOST 'localhost:9200/products/_search' -d '{ "query" : { "has_child" : { "type" : "offer", "query" : { "match" : { "color" : "blue" } }, "_scope" : "my_scope" } }, "facets" : { "size" : { "terms" : { "field" : "size" }, "scope" : "my_scope" } } }' ``` The following is the functional equivalent of using the scope support with parent/child queries: ``` curl -s -XPOST 'localhost:9200/products/_search' -d '{ "query" : { "has_child" : { "type" : "offer", "query" : { "match" : { "color" : "blue" } } } }, "facets" : { "size" : { "terms" : { "field" : "size" }, "global" : true, "facet_filter" : { "term" : { "color" : "blue" } } } } }' ``` Closes #2606
2013-01-31 09:09:57 -05:00
<dependency>
<groupId>org.apache.lucene</groupId>
<artifactId>lucene-join</artifactId>
<version>${lucene.maven.version}</version>
Remove scope support in query and facet dsl. Remove support for the `scope` field in facets and `_scope` field in the nested and parent/child queries. The scope support for nested queries will be replaced by the `nested` facet option and a facet filter with a nested filter. The nested filters will now support the a `join` option. Which controls whether to perform the block join. By default this enabled, but when disabled it returns the nested documents as hits instead of the joined root document. Search request with the current scope support. ``` curl -s -XPOST 'localhost:9200/products/_search' -d '{ "query" : { "nested" : { "path" : "offers", "query" : { "match" : { "offers.color" : "blue" } }, "_scope" : "my_scope" } }, "facets" : { "size" : { "terms" : { "field" : "offers.size" }, "scope" : "my_scope" } } }' ``` The following will be functional equivalent of using the scope support: ``` curl -s -XPOST 'localhost:9200/products/_search?search_type=count' -d '{ "query" : { "nested" : { "path" : "offers", "query" : { "match" : { "offers.color" : "blue" } } } }, "facets" : { "size" : { "terms" : { "field" : "offers.size" }, "facet_filter" : { "nested" : { "path" : "offers", "query" : { "match" : { "offers.color" : "blue" } }, "join" : false } }, "nested" : "offers" } } }' ``` The scope support for parent/child queries will be replaced by running the child query as filter in a global facet. Search request with the current scope support: ``` curl -s -XPOST 'localhost:9200/products/_search' -d '{ "query" : { "has_child" : { "type" : "offer", "query" : { "match" : { "color" : "blue" } }, "_scope" : "my_scope" } }, "facets" : { "size" : { "terms" : { "field" : "size" }, "scope" : "my_scope" } } }' ``` The following is the functional equivalent of using the scope support with parent/child queries: ``` curl -s -XPOST 'localhost:9200/products/_search' -d '{ "query" : { "has_child" : { "type" : "offer", "query" : { "match" : { "color" : "blue" } } } }, "facets" : { "size" : { "terms" : { "field" : "size" }, "global" : true, "facet_filter" : { "term" : { "color" : "blue" } } } } }' ``` Closes #2606
2013-01-31 09:09:57 -05:00
<scope>compile</scope>
</dependency>
2013-02-23 04:52:30 -05:00
<!-- Lucene spatial, make sure when upgrading to work with latest version of jts/spatial4j dependencies -->
<dependency>
<groupId>org.apache.lucene</groupId>
<artifactId>lucene-spatial</artifactId>
<version>${lucene.maven.version}</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.apache.lucene</groupId>
<artifactId>lucene-expressions</artifactId>
<version>${lucene.maven.version}</version>
<scope>compile</scope>
<optional>true</optional>
</dependency>
2013-02-23 04:52:30 -05:00
<dependency>
<groupId>com.spatial4j</groupId>
<artifactId>spatial4j</artifactId>
<version>0.4.1</version>
2013-02-23 04:52:30 -05:00
<scope>compile</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>com.vividsolutions</groupId>
<artifactId>jts</artifactId>
<version>1.13</version>
2013-02-23 04:52:30 -05:00
<scope>compile</scope>
<optional>true</optional>
<exclusions>
<exclusion>
<groupId>xerces</groupId>
<artifactId>xercesImpl</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- needed for templating -->
<dependency>
<groupId>com.github.spullara.mustache.java</groupId>
<artifactId>compiler</artifactId>
<version>0.8.13</version>
<optional>true</optional>
</dependency>
2014-08-29 03:01:05 -04:00
<!-- Lucene spatial -->
2012-12-02 16:29:49 -05:00
2011-12-05 18:05:44 -05:00
2011-12-05 19:42:25 -05:00
<!-- START: dependencies that are shaded -->
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>18.0</version>
2011-12-06 06:41:49 -05:00
<scope>compile</scope>
2011-12-05 19:42:25 -05:00
</dependency>
<dependency>
2013-09-13 17:54:04 -04:00
<groupId>com.carrotsearch</groupId>
<artifactId>hppc</artifactId>
2015-05-07 06:02:33 -04:00
<version>0.7.1</version>
</dependency>
<dependency> <!-- ES uses byte* hashes -->
<groupId>com.carrotsearch</groupId>
<artifactId>hppc</artifactId>
<version>0.7.1</version>
<classifier>esoteric</classifier>
2011-12-05 19:42:25 -05:00
</dependency>
<dependency>
<groupId>joda-time</groupId>
<artifactId>joda-time</artifactId>
<!-- joda 2.0 moved to using volatile fields for datetime -->
<!-- When updating to a new version, make sure to update our copy of BaseDateTime -->
<version>2.7</version>
2011-12-06 06:41:49 -05:00
<scope>compile</scope>
2011-12-05 19:42:25 -05:00
</dependency>
<dependency>
<groupId>org.joda</groupId>
<artifactId>joda-convert</artifactId>
<version>1.2</version>
<scope>compile</scope>
</dependency>
2011-12-05 19:42:25 -05:00
<dependency>
2012-07-10 17:44:02 -04:00
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.5.1</version>
2011-12-06 06:41:49 -05:00
<scope>compile</scope>
2011-12-05 19:42:25 -05:00
</dependency>
<dependency>
2012-07-10 17:44:02 -04:00
<groupId>com.fasterxml.jackson.dataformat</groupId>
<artifactId>jackson-dataformat-smile</artifactId>
<version>2.5.1</version>
2011-12-06 06:41:49 -05:00
<scope>compile</scope>
2011-12-05 19:42:25 -05:00
</dependency>
<dependency>
2012-08-20 11:40:19 -04:00
<groupId>com.fasterxml.jackson.dataformat</groupId>
<artifactId>jackson-dataformat-yaml</artifactId>
<version>2.5.1</version>
2011-12-06 06:41:49 -05:00
<scope>compile</scope>
<exclusions>
<exclusion>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
</exclusion>
</exclusions>
2011-12-05 19:42:25 -05:00
</dependency>
2014-03-23 03:56:45 -04:00
<dependency>
<groupId>com.fasterxml.jackson.dataformat</groupId>
<artifactId>jackson-dataformat-cbor</artifactId>
<version>2.5.1</version>
2014-03-23 03:56:45 -04:00
<scope>compile</scope>
</dependency>
2011-12-05 19:42:25 -05:00
<dependency>
2012-01-19 16:32:59 -05:00
<groupId>io.netty</groupId>
2011-12-05 19:42:25 -05:00
<artifactId>netty</artifactId>
<version>3.10.0.Final</version>
2011-12-06 06:41:49 -05:00
<scope>compile</scope>
2011-12-05 19:42:25 -05:00
</dependency>
<dependency>
<groupId>com.ning</groupId>
<artifactId>compress-lzf</artifactId>
<version>1.0.2</version>
<scope>compile</scope>
</dependency>
2014-05-13 18:42:48 -04:00
<dependency>
<groupId>com.tdunning</groupId>
<artifactId>t-digest</artifactId>
<version>3.0</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.3.2</version>
</dependency>
<dependency>
<groupId>commons-cli</groupId>
<artifactId>commons-cli</artifactId>
<version>1.2</version>
</dependency>
2011-12-05 19:42:25 -05:00
<!-- END: dependencies that are shaded -->
<dependency>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-all</artifactId>
2015-02-01 14:49:12 -05:00
<version>2.4.0</version>
<classifier>indy</classifier>
<scope>compile</scope>
<optional>true</optional>
</dependency>
2011-12-05 18:05:44 -05:00
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
2012-09-15 04:16:18 -04:00
<version>1.2.17</version>
<scope>compile</scope>
<optional>true</optional>
2011-12-05 18:05:44 -05:00
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>apache-log4j-extras</artifactId>
<version>1.2.17</version>
<scope>compile</scope>
<optional>true</optional>
</dependency>
2011-12-05 19:42:25 -05:00
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.6.2</version>
<scope>compile</scope>
<optional>true</optional>
2011-12-05 19:42:25 -05:00
</dependency>
<dependency>
<groupId>net.java.dev.jna</groupId>
<artifactId>jna</artifactId>
<version>4.1.0</version>
<scope>compile</scope>
<optional>true</optional>
2011-12-05 19:42:25 -05:00
</dependency>
<dependency>
<groupId>org.fusesource</groupId>
<artifactId>sigar</artifactId>
<version>1.6.4</version>
<scope>compile</scope>
<optional>true</optional>
</dependency>
<!-- We don't use this since the publish pom is then messed up -->
<!--
2011-12-05 19:42:25 -05:00
<dependency>
<groupId>sigar</groupId>
<artifactId>sigar</artifactId>
<version>1.6.4</version>
<scope>system</scope>
<systemPath>${basedir}/lib/sigar/sigar-1.6.4.jar</systemPath>
2011-12-13 12:03:32 -05:00
<optional>true</optional>
2011-12-05 19:42:25 -05:00
</dependency>
-->
2011-12-05 18:05:44 -05:00
</dependencies>
<build>
2011-12-05 19:42:25 -05:00
<!-- This file contains all the common properties used to build
the different packages (tar.gz, deb, rpm) using Maven resources plugin -->
<filters>
<filter>src/packaging/common/packaging.properties</filter>
</filters>
2011-12-05 19:42:25 -05:00
<resources>
<resource>
<directory>${basedir}/src/main/java</directory>
<includes>
<include>**/*.json</include>
<include>**/*.yml</include>
</includes>
</resource>
<resource>
<directory>${basedir}/src/main/resources</directory>
<includes>
<include>**/*.*</include>
</includes>
<filtering>true</filtering>
2011-12-05 19:42:25 -05:00
</resource>
</resources>
<testResources>
<testResource>
<directory>${basedir}/src/test/java</directory>
<includes>
<include>**/*.json</include>
<include>**/*.yml</include>
<include>**/*.txt</include>
<include>**/*.properties</include>
2011-12-05 19:42:25 -05:00
</includes>
<filtering>true</filtering>
2011-12-05 19:42:25 -05:00
</testResource>
2014-05-16 09:21:23 -04:00
<testResource>
<directory>${basedir}/src/test/java</directory>
<includes>
<include>**/*.gz</include>
</includes>
</testResource>
2011-12-05 19:42:25 -05:00
<testResource>
<directory>${basedir}/src/test/resources</directory>
<includes>
<include>**/*.*</include>
</includes>
</testResource>
added REST test suites runner The REST layer can now be tested through tests that are shared between all the elasticsearch official clients. The tests are based on REST specification that can be found on the elasticsearch-rest-api-spec project and consist of YAML files that describe the operations to be executed and the obtained results that need to be tested. REST tests can be executed through the ElasticsearchRestTests class, which relies on the rest-spec git submodule that contains the rest spec and tests pulled from the elasticsearch-rest-spec-api project. The rest-spec submodule gets automatically initialized and updated through maven (generate-test-resources phase). The REST runner and the needed classes are distributed within the test artifact. The following are the options supported by the REST tests runner: - tests.rest[true|false|host:port]: determines whether the REST tests need to be run and if so whether to rely on an external cluster (providing host and port) or fire a test cluster (default) - tests.rest.suite: comma separated paths of the test suites to be run (by default loaded from /rest-spec/test classpath). it is possible to run only a subset of the tests providing a sub-folder or even a single yaml file (the default /rest-spec/test prefix is optional when files are loaded from classpath) e.g. -Dtests.rest.suite=index,get,create/10_with_id - tests.rest.spec: REST spec path (default /rest-spec/api from classpath) - tests.iters: runs multiple iterations - tests.seed: seed to base the random behaviours on - tests.appendseed[true|false]: enables adding the seed to each test section's description (default false) - tests.cluster_seed: seed used to create the test cluster (if enabled) Closes #4469
2013-12-07 09:41:51 -05:00
<testResource>
<directory>${basedir}/rest-api-spec</directory>
<targetPath>rest-api-spec</targetPath>
added REST test suites runner The REST layer can now be tested through tests that are shared between all the elasticsearch official clients. The tests are based on REST specification that can be found on the elasticsearch-rest-api-spec project and consist of YAML files that describe the operations to be executed and the obtained results that need to be tested. REST tests can be executed through the ElasticsearchRestTests class, which relies on the rest-spec git submodule that contains the rest spec and tests pulled from the elasticsearch-rest-spec-api project. The rest-spec submodule gets automatically initialized and updated through maven (generate-test-resources phase). The REST runner and the needed classes are distributed within the test artifact. The following are the options supported by the REST tests runner: - tests.rest[true|false|host:port]: determines whether the REST tests need to be run and if so whether to rely on an external cluster (providing host and port) or fire a test cluster (default) - tests.rest.suite: comma separated paths of the test suites to be run (by default loaded from /rest-spec/test classpath). it is possible to run only a subset of the tests providing a sub-folder or even a single yaml file (the default /rest-spec/test prefix is optional when files are loaded from classpath) e.g. -Dtests.rest.suite=index,get,create/10_with_id - tests.rest.spec: REST spec path (default /rest-spec/api from classpath) - tests.iters: runs multiple iterations - tests.seed: seed to base the random behaviours on - tests.appendseed[true|false]: enables adding the seed to each test section's description (default false) - tests.cluster_seed: seed used to create the test cluster (if enabled) Closes #4469
2013-12-07 09:41:51 -05:00
<includes>
<include>api/*.json</include>
<include>test/**/*.yaml</include>
</includes>
</testResource>
2011-12-05 19:42:25 -05:00
</testResources>
2011-12-05 18:05:44 -05:00
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.4.0</version>
<executions>
<execution>
<goals>
<goal>exec</goal>
</goals>
</execution>
</executions>
<configuration>
2015-04-22 08:46:14 -04:00
<executable>${jvm.executable}</executable>
<arguments>
<argument>-Des.security.manager.enabled=false</argument>
<argument>-classpath</argument>
<classpath/>
<argument>org.elasticsearch.bootstrap.Bootstrap</argument>
<argument>-Xms256m</argument>
<argument>-Xmx1g</argument>
<argument>-Djava.awt.headless=true</argument>
<argument>-XX:+UseParNewGC</argument>
<argument>-XX:+UseConcMarkSweepGC</argument>
<argument>-XX:CMSInitiatingOccupancyFraction=75</argument>
<argument>-XX:+UseCMSInitiatingOccupancyOnly</argument>
<argument>-XX:+HeapDumpOnOutOfMemoryError</argument>
<argument>-XX:+DisableExplicitGC</argument>
<argument>-Dfile.encoding=UTF-8</argument>
<argument>-Delasticsearch</argument>
</arguments>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<version>1.3.1</version>
<executions>
<execution>
<id>enforce-versions</id>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<requireJavaVersion>
<version>[1.7,)</version>
</requireJavaVersion>
</rules>
</configuration>
</execution>
</executions>
</plugin>
2011-12-05 18:05:44 -05:00
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
2011-12-05 18:05:44 -05:00
<configuration>
2014-02-26 14:33:27 -05:00
<source>1.7</source>
<target>1.7</target>
<fork>true</fork>
<maxmem>512m</maxmem>
<!-- REMOVE WHEN UPGRADE:
see https://jira.codehaus.org/browse/MCOMPILER-209 it's a bug where
incremental compilation doesn't work unless it's set to false causeing
recompilation of the entire codebase each time without any changes. Should
be fixed in version > 3.1
-->
<useIncrementalCompilation>false</useIncrementalCompilation>
<compilerArgs>
<arg>-XDignore.symbol.file</arg>
</compilerArgs>
2011-12-05 18:05:44 -05:00
</configuration>
</plugin>
<plugin>
<groupId>com.carrotsearch.randomizedtesting</groupId>
<artifactId>junit4-maven-plugin</artifactId>
<version>${testframework.version}</version>
<executions>
<execution>
<id>tests</id>
<phase>test</phase>
<goals>
<goal>junit4</goal>
</goals>
<configuration>
2015-04-21 20:27:27 -04:00
<jvm>${jvm.executable}</jvm>
2015-04-19 18:44:14 -04:00
<heartbeat>10</heartbeat>
<jvmOutputAction>pipe,warn</jvmOutputAction>
<leaveTemporary>true</leaveTemporary>
2015-04-17 09:45:38 -04:00
<ifNoTests>fail</ifNoTests>
<listeners>
<report-ant-xml mavenExtensions="true"
dir="${project.build.directory}/surefire-reports"/>
<report-text
showThrowable="true"
showStackTraces="true"
showOutput="${tests.output}"
showStatusOk="false"
showStatusError="true"
showStatusFailure="true"
showStatusIgnored="true"
showSuiteSummary="true"
2015-04-17 09:22:28 -04:00
timestamps="false">
<filtertrace>
<!-- custom filters: we carefully only omit test infra noise here -->
<containsstring contains=".SlaveMain." />
<containsregex pattern="^(\s+at )(org\.junit\.)" />
<!-- also includes anonymous classes inside these two: -->
<containsregex pattern="^(\s+at )(com\.carrotsearch\.randomizedtesting.RandomizedRunner)" />
<containsregex pattern="^(\s+at )(com\.carrotsearch\.randomizedtesting.ThreadLeakControl)" />
<containsregex pattern="^(\s+at )(com\.carrotsearch\.randomizedtesting.rules\.)" />
<containsregex pattern="^(\s+at )(org\.apache\.lucene.util\.TestRule)" />
<containsregex pattern="^(\s+at )(org\.apache\.lucene.util\.AbstractBeforeAfterRule)" />
</filtertrace>
</report-text>
<report-execution-times historyLength="20" file="${basedir}/${execution.hint.file}"/>
</listeners>
<assertions>
2014-01-11 18:26:34 -05:00
<enable/>
<disable package="${tests.assertion.disabled}"/>
<!-- pass org.elasticsearch to run without assertions -->
</assertions>
<parallelism>${tests.jvms}</parallelism>
<balancers>
<execution-times>
<fileset dir="${basedir}" includes="${execution.hint.file}"/>
</execution-times>
</balancers>
<includes>
<include>**/*Tests.class</include>
<include>**/*Test.class</include>
</includes>
<excludes>
<exclude>**/Abstract*.class</exclude>
<exclude>**/*StressTest.class</exclude>
</excludes>
<jvmArgs>
<param>-Xmx${tests.heap.size}</param>
<param>-Xms${tests.heap.size}</param>
<param>${java.permGenSpace}</param>
<param>-Djava.library.path=${project.basedir}/lib/sigar</param>
<param>-XX:MaxDirectMemorySize=512m</param>
<param>-Des.logger.prefix=</param>
<param>-XX:+HeapDumpOnOutOfMemoryError</param>
<param>-XX:HeapDumpPath=${tests.heapdump.path}</param>
</jvmArgs>
<shuffleOnSlave>${tests.shuffle}</shuffleOnSlave>
<sysouts>${tests.verbose}</sysouts>
<seed>${tests.seed}</seed>
<haltOnFailure>${tests.failfast}</haltOnFailure>
2015-04-17 23:37:46 -04:00
<!-- enforce unique suite names, or reporting stuff can be screwed up -->
<uniqueSuiteNames>true</uniqueSuiteNames>
<systemProperties>
<!-- we use './temp' since this is per JVM and tests are forbidden from writing to CWD -->
<java.io.tmpdir>./temp</java.io.tmpdir>
<!-- RandomizedTesting library system properties -->
<tests.bwc>${tests.bwc}</tests.bwc>
<tests.bwc.path>${tests.bwc.path}</tests.bwc.path>
<tests.bwc.version>${tests.bwc.version}</tests.bwc.version>
2013-11-25 08:35:12 -05:00
<tests.jvm.argline>${tests.jvm.argline}</tests.jvm.argline>
added REST test suites runner The REST layer can now be tested through tests that are shared between all the elasticsearch official clients. The tests are based on REST specification that can be found on the elasticsearch-rest-api-spec project and consist of YAML files that describe the operations to be executed and the obtained results that need to be tested. REST tests can be executed through the ElasticsearchRestTests class, which relies on the rest-spec git submodule that contains the rest spec and tests pulled from the elasticsearch-rest-spec-api project. The rest-spec submodule gets automatically initialized and updated through maven (generate-test-resources phase). The REST runner and the needed classes are distributed within the test artifact. The following are the options supported by the REST tests runner: - tests.rest[true|false|host:port]: determines whether the REST tests need to be run and if so whether to rely on an external cluster (providing host and port) or fire a test cluster (default) - tests.rest.suite: comma separated paths of the test suites to be run (by default loaded from /rest-spec/test classpath). it is possible to run only a subset of the tests providing a sub-folder or even a single yaml file (the default /rest-spec/test prefix is optional when files are loaded from classpath) e.g. -Dtests.rest.suite=index,get,create/10_with_id - tests.rest.spec: REST spec path (default /rest-spec/api from classpath) - tests.iters: runs multiple iterations - tests.seed: seed to base the random behaviours on - tests.appendseed[true|false]: enables adding the seed to each test section's description (default false) - tests.cluster_seed: seed used to create the test cluster (if enabled) Closes #4469
2013-12-07 09:41:51 -05:00
<tests.appendseed>${tests.appendseed}</tests.appendseed>
<tests.iters>${tests.iters}</tests.iters>
<tests.maxfailures>${tests.maxfailures}</tests.maxfailures>
<tests.failfast>${tests.failfast}</tests.failfast>
<tests.class>${tests.class}</tests.class>
<tests.method>${tests.method}</tests.method>
<tests.nightly>${tests.nightly}</tests.nightly>
<tests.verbose>${tests.verbose}</tests.verbose>
<tests.badapples>${tests.badapples}</tests.badapples>
<tests.weekly>${tests.weekly}</tests.weekly>
<tests.slow>${tests.slow}</tests.slow>
<tests.awaitsfix>${tests.awaitsfix}</tests.awaitsfix>
<tests.timeoutSuite>${tests.timeoutSuite}</tests.timeoutSuite>
<tests.showSuccess>${tests.showSuccess}</tests.showSuccess>
<tests.integration>${tests.integration}</tests.integration>
<tests.thirdparty>${tests.thirdparty}</tests.thirdparty>
<tests.config>${tests.config}</tests.config>
<tests.client.ratio>${tests.client.ratio}</tests.client.ratio>
<tests.enable_mock_modules>${tests.enable_mock_modules}</tests.enable_mock_modules>
<tests.assertion.disabled>${tests.assertion.disabled}</tests.assertion.disabled>
added REST test suites runner The REST layer can now be tested through tests that are shared between all the elasticsearch official clients. The tests are based on REST specification that can be found on the elasticsearch-rest-api-spec project and consist of YAML files that describe the operations to be executed and the obtained results that need to be tested. REST tests can be executed through the ElasticsearchRestTests class, which relies on the rest-spec git submodule that contains the rest spec and tests pulled from the elasticsearch-rest-spec-api project. The rest-spec submodule gets automatically initialized and updated through maven (generate-test-resources phase). The REST runner and the needed classes are distributed within the test artifact. The following are the options supported by the REST tests runner: - tests.rest[true|false|host:port]: determines whether the REST tests need to be run and if so whether to rely on an external cluster (providing host and port) or fire a test cluster (default) - tests.rest.suite: comma separated paths of the test suites to be run (by default loaded from /rest-spec/test classpath). it is possible to run only a subset of the tests providing a sub-folder or even a single yaml file (the default /rest-spec/test prefix is optional when files are loaded from classpath) e.g. -Dtests.rest.suite=index,get,create/10_with_id - tests.rest.spec: REST spec path (default /rest-spec/api from classpath) - tests.iters: runs multiple iterations - tests.seed: seed to base the random behaviours on - tests.appendseed[true|false]: enables adding the seed to each test section's description (default false) - tests.cluster_seed: seed used to create the test cluster (if enabled) Closes #4469
2013-12-07 09:41:51 -05:00
<tests.rest>${tests.rest}</tests.rest>
<tests.rest.suite>${tests.rest.suite}</tests.rest.suite>
<tests.rest.blacklist>${tests.rest.blacklist}</tests.rest.blacklist>
added REST test suites runner The REST layer can now be tested through tests that are shared between all the elasticsearch official clients. The tests are based on REST specification that can be found on the elasticsearch-rest-api-spec project and consist of YAML files that describe the operations to be executed and the obtained results that need to be tested. REST tests can be executed through the ElasticsearchRestTests class, which relies on the rest-spec git submodule that contains the rest spec and tests pulled from the elasticsearch-rest-spec-api project. The rest-spec submodule gets automatically initialized and updated through maven (generate-test-resources phase). The REST runner and the needed classes are distributed within the test artifact. The following are the options supported by the REST tests runner: - tests.rest[true|false|host:port]: determines whether the REST tests need to be run and if so whether to rely on an external cluster (providing host and port) or fire a test cluster (default) - tests.rest.suite: comma separated paths of the test suites to be run (by default loaded from /rest-spec/test classpath). it is possible to run only a subset of the tests providing a sub-folder or even a single yaml file (the default /rest-spec/test prefix is optional when files are loaded from classpath) e.g. -Dtests.rest.suite=index,get,create/10_with_id - tests.rest.spec: REST spec path (default /rest-spec/api from classpath) - tests.iters: runs multiple iterations - tests.seed: seed to base the random behaviours on - tests.appendseed[true|false]: enables adding the seed to each test section's description (default false) - tests.cluster_seed: seed used to create the test cluster (if enabled) Closes #4469
2013-12-07 09:41:51 -05:00
<tests.rest.spec>${tests.rest.spec}</tests.rest.spec>
<tests.network>${tests.network}</tests.network>
<tests.cluster>${tests.cluster}</tests.cluster>
<tests.heap.size>${tests.heap.size}</tests.heap.size>
<tests.filter>${tests.filter}</tests.filter>
<tests.version>${project.version}</tests.version>
<tests.locale>${tests.locale}</tests.locale>
<tests.timezone>${tests.timezone}</tests.timezone>
<project.basedir>${project.basedir}</project.basedir>
<m2.repository>${settings.localRepository}</m2.repository>
<es.node.local>${env.ES_TEST_LOCAL}</es.node.local>
<es.node.mode>${es.node.mode}</es.node.mode>
<es.logger.level>${es.logger.level}</es.logger.level>
<tests.security.manager>${tests.security.manager}</tests.security.manager>
<tests.compatibility>${tests.compatibility}</tests.compatibility>
<java.awt.headless>true</java.awt.headless>
<!-- true if we are running tests from maven (as opposed to IDE, etc).
allows us to assert certain things work, like libsigar -->
<tests.maven>true</tests.maven>
</systemProperties>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.7</version>
<executions>
<execution>
2014-08-29 03:01:05 -04:00
<phase>validate</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<target>
<echo>Using ${java.runtime.name} ${java.runtime.version} ${java.vendor}</echo>
</target>
</configuration>
</execution>
<execution>
<id>set-permGen</id>
<phase>validate</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<target>
<!-- if we are on java 1.7.* we set perm gen space since some tests need it otherwise we just inject a dummy value -->
<condition property="java.permGenSpace" value="-XX:MaxPermSize=128m" else="-Dsome.dummy.value=" >
<matches pattern="1\.7\..+$" string="${java.runtime.version}" />
</condition>
</target>
<exportAntProperties>true</exportAntProperties>
</configuration>
</execution>
<execution>
<id>invalid-patterns</id>
<phase>validate</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<target unless="${validate.skip}">
<pathconvert pathsep="${line.separator}" dirsep="/" property="validate.patternsFound" setonempty="false">
<fileset dir="${basedir}">
<include name="**/*.java"/>
<include name="**/*.py"/>
<include name="**/*.txt"/>
<include name="**/*.xml"/>
<include name="**/*.rb"/>
<include name="**/*.pl"/>
<exclude name="**/org/elasticsearch/cluster/routing/shard_routes.txt"/>
<exclude name="target/**/*"/>
<exclude name=".metadata/**/*"/>
<exclude name=".idea/**/*"/>
<or>
<containsregexp expression="\bno(n|)commit\b" casesensitive="no"/>
<containsregexp expression="\t" casesensitive="no"/>
</or>
</fileset>
<map from="${basedir}${file.separator}" to="* "/>
</pathconvert>
2014-08-29 03:01:05 -04:00
<fail if="validate.patternsFound">The following files contain tabs or
nocommits:${line.separator}${validate.patternsFound}
</fail>
</target>
</configuration>
</execution>
<execution>
<phase>generate-test-resources</phase>
<id>create-heapdump-directory</id>
<configuration>
<target>
<echo message="Creating heapdump directory"/>
<mkdir dir="${tests.heapdump.path}"/>
</target>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
<execution>
<id>tests</id>
<phase>test</phase>
<configuration>
2014-08-29 03:01:05 -04:00
<skip>${skipTests}</skip>
<!-- don't run if we skip the tests -->
<failOnError>false</failOnError>
<target>
<property name="runtime_classpath" refid="maven.runtime.classpath"/>
<property name="test_classpath" refid="maven.test.classpath"/>
<property name="plugin_classpath" refid="maven.plugin.classpath"/>
<taskdef resource="com/carrotsearch/junit4/antlib.xml">
<classpath>
<pathelement path="${plugin_classpath}"/>
<pathelement path="${runtime_classpath}"/>
<pathelement path="${test_classpath}"/>
</classpath>
</taskdef>
<tophints max="${tests.topn}">
2014-08-29 03:01:05 -04:00
<file file="${basedir}/${execution.hint.file}"/>
</tophints>
</target>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<!-- we skip surefire to work with randomized testing above -->
2011-12-05 18:05:44 -05:00
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.16</version>
2011-12-05 18:05:44 -05:00
<configuration>
<skipTests>true</skipTests>
2011-12-05 18:05:44 -05:00
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>2.2.1</version>
2011-12-05 18:05:44 -05:00
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
<execution>
<id>attach-test-sources</id>
<goals>
<goal>test-jar</goal>
</goals>
<configuration>
<includes>
<include>org/elasticsearch/test/**/*</include>
<include>org/elasticsearch/bootstrap/BootstrapForTesting.class</include>
<include>org/elasticsearch/common/cli/CliToolTestCase.class</include>
<include>org/elasticsearch/common/cli/CliToolTestCase$*.class</include>
</includes>
<excludes>
<!-- unit tests for yaml suite parser & rest spec parser need to be excluded -->
<exclude>org/elasticsearch/test/rest/test/**/*</exclude>
<!-- unit tests for test framework classes-->
<exclude>org/elasticsearch/test/test/**/*</exclude>
</excludes>
<!-- Resources are large and not really helpful as "test sources". -->
<excludeResources>true</excludeResources>
</configuration>
</execution>
2011-12-05 18:05:44 -05:00
</executions>
</plugin>
2011-12-06 06:41:49 -05:00
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>2.3</version>
2011-12-06 06:41:49 -05:00
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
</execution>
</executions>
<configuration>
<shadeTestJar>true</shadeTestJar>
2011-12-06 06:41:49 -05:00
<minimizeJar>true</minimizeJar>
<promoteTransitiveDependencies>true</promoteTransitiveDependencies>
2011-12-06 06:41:49 -05:00
<artifactSet>
<includes>
<include>com.google.guava:guava</include>
2013-09-13 17:54:04 -04:00
<include>com.carrotsearch:hppc</include>
<include>com.fasterxml.jackson.core:jackson-core</include>
<include>com.fasterxml.jackson.dataformat:jackson-dataformat-smile</include>
2012-08-20 11:40:19 -04:00
<include>com.fasterxml.jackson.dataformat:jackson-dataformat-yaml</include>
2014-03-23 03:56:45 -04:00
<include>com.fasterxml.jackson.dataformat:jackson-dataformat-cbor</include>
2011-12-06 06:41:49 -05:00
<include>joda-time:joda-time</include>
<include>org.joda:joda-convert</include>
2012-01-19 16:32:59 -05:00
<include>io.netty:netty</include>
<include>com.ning:compress-lzf</include>
<include>com.github.spullara.mustache.java:compiler</include>
2014-05-13 18:42:48 -04:00
<include>com.tdunning:t-digest</include>
<include>org.apache.commons:commons-lang3</include>
<include>commons-cli:commons-cli</include>
2011-12-06 06:41:49 -05:00
</includes>
</artifactSet>
<relocations>
<relocation>
<pattern>com.google.common</pattern>
<shadedPattern>org.elasticsearch.common</shadedPattern>
</relocation>
<relocation>
2013-09-13 17:54:04 -04:00
<pattern>com.carrotsearch.hppc</pattern>
<shadedPattern>org.elasticsearch.common.hppc</shadedPattern>
2011-12-06 06:41:49 -05:00
</relocation>
<relocation>
<pattern>jsr166e</pattern>
<shadedPattern>org.elasticsearch.common.util.concurrent.jsr166e</shadedPattern>
</relocation>
<relocation>
<pattern>com.fasterxml.jackson</pattern>
2011-12-06 06:41:49 -05:00
<shadedPattern>org.elasticsearch.common.jackson</shadedPattern>
</relocation>
<relocation>
<pattern>org.joda.time</pattern>
<shadedPattern>org.elasticsearch.common.joda.time</shadedPattern>
2011-12-06 06:41:49 -05:00
</relocation>
<relocation>
<pattern>org.jboss.netty</pattern>
<shadedPattern>org.elasticsearch.common.netty</shadedPattern>
</relocation>
<relocation>
<pattern>com.ning.compress</pattern>
<shadedPattern>org.elasticsearch.common.compress</shadedPattern>
</relocation>
<relocation>
2014-08-29 03:01:05 -04:00
<pattern>com.github.mustachejava</pattern>
<shadedPattern>org.elasticsearch.common.mustache</shadedPattern>
</relocation>
2014-05-13 18:42:48 -04:00
<relocation>
<pattern>com.tdunning.math.stats</pattern>
<shadedPattern>org.elasticsearch.common.stats</shadedPattern>
</relocation>
<relocation>
<pattern>org.apache.commons.lang</pattern>
<shadedPattern>org.elasticsearch.common.lang</shadedPattern>
</relocation>
<relocation>
<pattern>org.apache.commons.cli</pattern>
<shadedPattern>org.elasticsearch.common.cli.commons</shadedPattern>
</relocation>
2011-12-06 06:41:49 -05:00
</relocations>
<filters>
<filter>
<artifact>*:*</artifact>
<excludes>
<exclude>META-INF/license/**</exclude>
<exclude>META-INF/*</exclude>
<exclude>META-INF/maven/**</exclude>
2011-12-06 06:41:49 -05:00
<exclude>LICENSE</exclude>
<exclude>NOTICE</exclude>
<exclude>/*.txt</exclude>
<exclude>build.properties</exclude>
</excludes>
</filter>
<filter>
<artifact>io.netty:netty</artifact>
<includes>
<include>org/jboss/netty/**</include>
</includes>
</filter>
2011-12-06 06:41:49 -05:00
</filters>
</configuration>
</plugin>
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>2.6</version>
<executions>
<execution>
<id>copy-resources</id>
<phase>prepare-package</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/bin</outputDirectory>
<resources>
<resource>
<directory>${basedir}/bin</directory>
<filtering>true</filtering>
<excludes>
<exclude>*.exe</exclude>
</excludes>
</resource>
<resource>
<directory>${basedir}/bin</directory>
<filtering>false</filtering>
<includes>
<include>*.exe</include>
</includes>
</resource>
</resources>
</configuration>
</execution>
<!-- Filters some files and uses packaging.properties when building the .deb package -->
<execution>
<id>copy-resources-deb</id>
<phase>prepare-package</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/generated-packaging/deb/</outputDirectory>
<filters>
<filter>src/packaging/common/packaging.properties</filter>
<filter>src/packaging/deb/packaging.properties</filter>
</filters>
<resources>
<resource>
<directory>src/packaging/common/</directory>
<filtering>true</filtering>
<includes>
<include>**/*</include>
</includes>
<excludes>
<exclude>packaging.properties</exclude>
</excludes>
</resource>
<resource>
<directory>src/packaging/deb/</directory>
<filtering>true</filtering>
<includes>
<include>**/*</include>
</includes>
<excludes>
<exclude>packaging.properties</exclude>
</excludes>
</resource>
<resource>
<directory>${project.basedir}</directory>
<filtering>true</filtering>
<includes>
<include>bin/elasticsearch</include>
<include>bin/elasticsearch.in.sh</include>
<include>bin/plugin</include>
</includes>
</resource>
</resources>
</configuration>
</execution>
<!-- Filters some files and uses packaging.properties when building the .rpm package -->
<execution>
<id>copy-resources-rpm</id>
<phase>prepare-package</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/generated-packaging/rpm/</outputDirectory>
<filters>
<filter>src/packaging/common/packaging.properties</filter>
<filter>src/packaging/rpm/packaging.properties</filter>
</filters>
<resources>
<resource>
<directory>src/packaging/common/</directory>
<filtering>true</filtering>
<includes>
<include>**/*</include>
</includes>
<excludes>
<exclude>packaging.properties</exclude>
</excludes>
</resource>
<resource>
<directory>src/packaging/rpm/</directory>
<filtering>true</filtering>
<includes>
<include>**/*</include>
</includes>
<excludes>
<exclude>packaging.properties</exclude>
</excludes>
</resource>
<resource>
<directory>${project.basedir}</directory>
<filtering>true</filtering>
<includes>
<include>bin/elasticsearch</include>
<include>bin/elasticsearch.in.sh</include>
<include>bin/plugin</include>
</includes>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
2011-12-06 06:41:49 -05:00
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.4</version>
2011-12-06 06:41:49 -05:00
<configuration>
<appendAssemblyId>false</appendAssemblyId>
2012-02-08 02:45:40 -05:00
<outputDirectory>${project.build.directory}/releases/</outputDirectory>
2011-12-06 06:41:49 -05:00
<descriptors>
<descriptor>${basedir}/src/main/assemblies/targz-bin.xml</descriptor>
<descriptor>${basedir}/src/main/assemblies/zip-bin.xml</descriptor>
2012-02-08 02:45:40 -05:00
</descriptors>
2011-12-06 06:41:49 -05:00
</configuration>
<executions>
2011-12-08 06:40:09 -05:00
<execution>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
2011-12-08 06:40:09 -05:00
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>buildnumber-maven-plugin</artifactId>
<version>1.2</version>
<executions>
<execution>
<phase>validate</phase>
<goals>
<goal>create</goal>
</goals>
</execution>
</executions>
<configuration>
<doCheck>false</doCheck>
<doUpdate>false</doUpdate>
</configuration>
</plugin>
2011-12-08 03:48:00 -05:00
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.8</version>
2011-12-08 03:48:00 -05:00
<executions>
<execution>
<phase>prepare-package</phase>
2011-12-08 03:48:00 -05:00
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/lib</outputDirectory>
<includeScope>runtime</includeScope>
2011-12-08 06:40:09 -05:00
</configuration>
2011-12-08 03:48:00 -05:00
</execution>
</executions>
</plugin>
<!-- Deb Packaging -->
2012-02-08 02:45:40 -05:00
<plugin>
<!-- some infos https://github.com/tcurdt/jdeb/blob/master/docs/maven.md -->
2011-12-08 03:48:00 -05:00
<artifactId>jdeb</artifactId>
<groupId>org.vafer</groupId>
<version>1.4</version>
<configuration>
2011-12-08 06:40:09 -05:00
<deb>${project.build.directory}/releases/${project.artifactId}-${project.version}.deb</deb>
<controlDir>${project.build.directory}/generated-packaging/deb/scripts</controlDir>
2011-12-08 06:40:09 -05:00
</configuration>
2011-12-08 03:48:00 -05:00
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>jdeb</goal>
</goals>
<configuration>
Build: Update package repositories when creating a release In order to automatically sign and and upload our debian and RPM packages, this commit incorporates signing into the build process and adds the necessary steps to the release process. In order to do this the pom.xml has been adapted and the RPM and jdeb maven plugins have been updated, so the packages are signed on build. However the repositories need to signed as well. Syncing the repos requires downloading the current repo, adding the new packages and syncing it back. The following environment variables are now required as part of the build * GPG_KEY_ID - the key ID of the key used for signing * GPG_PASSPHRASE - your GPG passphrase * S3_BUCKET_SYNC_TO: S3 bucket to sync new repo into The following environment variables are optional * S3_BUCKET_SYNC_FROM: S3 bucket to get existing packages from * GPG_KEYRING - home of gnupg, defaults to ~/.gnupg The following command line tools are needed * createrepo (creates RPM repositories) * expect (used by the maven rpm plugin) * apt-ftparchive (creates DEB repositories) * gpg (signs packages and repo files) * s3cmd (syncing between the different S3 buckets) The current approach would also work for users who want to run their own repositories, all they need to change are a couple of environment variables. Minor implementation detail: Right now the branch name is used as version for the repositories (like 1.4/1.5/1.6) - if we ever change our branch naming scheme, the script needs to be fixed.
2015-04-26 10:54:17 -04:00
<signPackage>${deb.sign}</signPackage>
<keyring>${gpg.keyring}</keyring>
<key>${gpg.key}</key>
<passphrase>${gpg.passphrase}</passphrase>
<signMethod>${deb.sign.method}</signMethod>
2011-12-08 06:40:09 -05:00
<dataSet>
<!-- Add bin directory -->
2011-12-08 06:40:09 -05:00
<data>
<src>${project.build.directory}/generated-packaging/deb/bin</src>
2011-12-08 03:48:00 -05:00
<type>directory</type>
<includes>elasticsearch,elasticsearch.in.sh,plugin</includes>
2011-12-08 03:48:00 -05:00
<mapper>
<type>perm</type>
<prefix>${packaging.elasticsearch.bin.dir}</prefix>
<filemode>755</filemode>
2011-12-08 03:48:00 -05:00
<user>root</user>
<group>root</group>
</mapper>
2011-12-08 06:40:09 -05:00
</data>
<!-- Add configuration files -->
2011-12-08 06:40:09 -05:00
<data>
<src>${project.basedir}/config</src>
2011-12-08 03:48:00 -05:00
<type>directory</type>
<excludes>.DS_Store</excludes>
2011-12-08 03:48:00 -05:00
<mapper>
<type>perm</type>
<prefix>${packaging.elasticsearch.conf.dir}</prefix>
<user>root</user>
<group>root</group>
</mapper>
</data>
<!-- Add environment vars file -->
<data>
<src>${project.build.directory}/generated-packaging/deb/env/elasticsearch</src>
<type>file</type>
<mapper>
<type>perm</type>
<prefix>/etc/default</prefix>
<filemode>644</filemode>
2011-12-08 03:48:00 -05:00
<user>root</user>
<group>root</group>
2011-12-08 06:40:09 -05:00
</mapper>
</data>
<!-- Add libs -->
2011-12-08 06:40:09 -05:00
<data>
2011-12-08 03:48:00 -05:00
<src>${project.build.directory}/</src>
2011-12-08 06:40:09 -05:00
<includes>${project.build.finalName}.jar</includes>
2011-12-08 03:48:00 -05:00
<type>directory</type>
<mapper>
<type>perm</type>
<prefix>${packaging.elasticsearch.home.dir}/lib</prefix>
2011-12-08 03:48:00 -05:00
<user>root</user>
<group>root</group>
</mapper>
2011-12-08 06:40:09 -05:00
</data>
<data>
2011-12-08 06:40:09 -05:00
<src>${project.basedir}/lib/sigar/</src>
<includes>sigar-*.jar, libsigar-*-linux.*</includes>
<type>directory</type>
<mapper>
<type>perm</type>
<prefix>${packaging.elasticsearch.home.dir}/lib/sigar</prefix>
2011-12-08 06:40:09 -05:00
<user>root</user>
<group>root</group>
</mapper>
</data>
<data>
2011-12-08 06:40:09 -05:00
<src>${project.build.directory}/lib</src>
<includes>lucene*, *log4j*, jna*, spatial4j*, jts*, groovy*, antlr-runtime*, asm*</includes>
2011-12-08 03:48:00 -05:00
<type>directory</type>
<mapper>
<type>perm</type>
<prefix>${packaging.elasticsearch.home.dir}/lib</prefix>
2011-12-08 03:48:00 -05:00
<user>root</user>
<group>root</group>
</mapper>
</data>
<!-- Add init.d files -->
2011-12-08 06:40:09 -05:00
<data>
<src>${project.build.directory}/generated-packaging/deb/init.d/</src>
2011-12-08 03:48:00 -05:00
<type>directory</type>
<excludes>.DS_Store</excludes>
2011-12-08 03:48:00 -05:00
<mapper>
<type>perm</type>
<prefix>/etc/init.d</prefix>
<filemode>755</filemode>
<user>root</user>
<group>root</group>
</mapper>
</data>
<!-- Adds systemd file -->
<data>
<src>${project.build.directory}/generated-packaging/deb/systemd/elasticsearch.service</src>
<dst>/usr/lib/systemd/system/elasticsearch.service</dst>
<type>file</type>
</data>
<!-- Add lintian files -->
2011-12-08 06:40:09 -05:00
<data>
<src>${project.build.directory}/generated-packaging/deb/lintian</src>
2011-12-08 03:48:00 -05:00
<type>directory</type>
<excludes>.DS_Store</excludes>
2011-12-08 03:48:00 -05:00
<mapper>
<type>perm</type>
<prefix>/usr/share/lintian/overrides</prefix>
2011-12-08 03:48:00 -05:00
<user>root</user>
<group>root</group>
</mapper>
2011-12-08 06:40:09 -05:00
</data>
<!-- Add readme files -->
<data>
<src>${project.basedir}/</src>
<includes>*.txt, *.textile</includes>
<excludes>LICENSE.txt, .DS_Store</excludes>
<type>directory</type>
<mapper>
<type>perm</type>
<prefix>${packaging.elasticsearch.home.dir}</prefix>
<user>root</user>
<group>root</group>
</mapper>
</data>
<!-- Add license files -->
<data>
<src>${project.build.directory}/generated-packaging/deb/copyright</src>
<dst>/usr/share/doc/elasticsearch/copyright</dst>
<type>file</type>
</data>
<!-- Adds and sets permission on default directories -->
<data>
<type>template</type>
<paths>
<path>${packaging.elasticsearch.data.dir}</path>
<path>${packaging.elasticsearch.log.dir}</path>
<path>${packaging.elasticsearch.plugins.dir}</path>
<path>${packaging.elasticsearch.pid.dir}</path>
</paths>
<mapper>
<type>perm</type>
<dirmode>755</dirmode>
<user>${packaging.elasticsearch.user}</user>
<group>${packaging.elasticsearch.group}</group>
</mapper>
</data>
2011-12-08 06:40:09 -05:00
</dataSet>
2011-12-08 03:48:00 -05:00
</configuration>
</execution>
</executions>
2012-02-08 02:45:40 -05:00
</plugin>
<!-- Rpm Packaging -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>rpm-maven-plugin</artifactId>
<version>2.1.2</version>
<configuration>
<distribution>Elasticsearch</distribution>
<group>Application/Internet</group>
<packager>Elasticsearch</packager>
<prefix>/usr</prefix>
<changelogFile>src/changelog</changelogFile>
<defineStatements>
2013-04-08 08:46:26 -04:00
<defineStatement>_unpackaged_files_terminate_build 0</defineStatement>
<defineStatement>_binaries_in_noarch_packages_terminate_build 0</defineStatement>
</defineStatements>
<defaultFilemode>644</defaultFilemode>
<defaultDirmode>755</defaultDirmode>
<defaultUsername>root</defaultUsername>
<defaultGroupname>root</defaultGroupname>
Build: Update package repositories when creating a release In order to automatically sign and and upload our debian and RPM packages, this commit incorporates signing into the build process and adds the necessary steps to the release process. In order to do this the pom.xml has been adapted and the RPM and jdeb maven plugins have been updated, so the packages are signed on build. However the repositories need to signed as well. Syncing the repos requires downloading the current repo, adding the new packages and syncing it back. The following environment variables are now required as part of the build * GPG_KEY_ID - the key ID of the key used for signing * GPG_PASSPHRASE - your GPG passphrase * S3_BUCKET_SYNC_TO: S3 bucket to sync new repo into The following environment variables are optional * S3_BUCKET_SYNC_FROM: S3 bucket to get existing packages from * GPG_KEYRING - home of gnupg, defaults to ~/.gnupg The following command line tools are needed * createrepo (creates RPM repositories) * expect (used by the maven rpm plugin) * apt-ftparchive (creates DEB repositories) * gpg (signs packages and repo files) * s3cmd (syncing between the different S3 buckets) The current approach would also work for users who want to run their own repositories, all they need to change are a couple of environment variables. Minor implementation detail: Right now the branch name is used as version for the repositories (like 1.4/1.5/1.6) - if we ever change our branch naming scheme, the script needs to be fixed.
2015-04-26 10:54:17 -04:00
<keyname>${gpg.key}</keyname>
<keypath>${gpg.keyring}</keypath>
<keyPassphrase>
<passphrase>${gpg.passphrase}</passphrase>
</keyPassphrase>
<mappings>
<!-- Add bin directory -->
<mapping>
<directory>${packaging.elasticsearch.bin.dir}/</directory>
<filemode>755</filemode>
<sources>
<source>
<location>${project.build.directory}/generated-packaging/rpm/bin</location>
<includes>
<include>elasticsearch</include>
<include>elasticsearch.in.sh</include>
<include>plugin</include>
</includes>
</source>
</sources>
</mapping>
<!-- Add configuration files -->
2013-04-08 08:46:26 -04:00
<mapping>
<directory>${packaging.elasticsearch.conf.dir}/</directory>
<configuration>noreplace</configuration>
<sources>
<source>
<location>${project.basedir}/config/</location>
<includes>
<include>*.yml</include>
</includes>
</source>
</sources>
2013-04-08 08:46:26 -04:00
</mapping>
<!-- Add environment vars file -->
2013-04-08 08:46:26 -04:00
<mapping>
<directory>/etc/sysconfig/</directory>
<directoryIncluded>false</directoryIncluded>
<configuration>noreplace</configuration>
<sources>
<source>
<location>${project.build.directory}/generated-packaging/rpm/env/</location>
<includes>
<include>elasticsearch</include>
</includes>
</source>
</sources>
2013-04-08 08:46:26 -04:00
</mapping>
<!-- Add libs -->
2013-04-08 08:46:26 -04:00
<mapping>
<directory>${packaging.elasticsearch.home.dir}/lib</directory>
<sources>
<source>
<location>target/lib/</location>
<includes>
<include>lucene*</include>
<include>*log4j*</include>
<include>jna*</include>
<include>spatial4j*</include>
<include>jts*</include>
<include>groovy*</include>
<include>antlr-runtime*</include>
<include>asm*</include>
</includes>
</source>
<source>
<location>${project.build.directory}/</location>
<includes>
<include>${project.build.finalName}.jar</include>
</includes>
</source>
</sources>
</mapping>
2014-01-11 18:26:34 -05:00
<mapping>
<directory>${packaging.elasticsearch.home.dir}/lib/sigar</directory>
<sources>
<source>
<location>lib/sigar</location>
<includes>
<include>sigar*.jar</include>
<include>libsigar-*-linux.*</include>
</includes>
</source>
</sources>
2013-04-08 08:46:26 -04:00
</mapping>
<!-- Add init.d files -->
2013-04-08 08:46:26 -04:00
<mapping>
<directory>/etc/init.d</directory>
<directoryIncluded>false</directoryIncluded>
<filemode>755</filemode>
<configuration>true</configuration>
<sources>
<source>
<location>${project.build.directory}/generated-packaging/rpm/init.d</location>
<includes>
<include>elasticsearch</include>
</includes>
</source>
</sources>
2013-04-08 08:46:26 -04:00
</mapping>
<!-- Adds systemd file -->
2013-04-08 08:46:26 -04:00
<mapping>
<directory>/usr/lib/systemd/system/</directory>
<filemode>755</filemode>
<configuration>true</configuration>
<sources>
2013-04-08 08:46:26 -04:00
<source>
<location>${project.build.directory}/generated-packaging/rpm/systemd</location>
2013-04-08 08:46:26 -04:00
<includes>
<include>elasticsearch.service</include>
2013-04-08 08:46:26 -04:00
</includes>
</source>
</sources>
</mapping>
<mapping>
<directory>/usr/lib/sysctl.d/</directory>
<filemode>755</filemode>
<configuration>true</configuration>
<sources>
<source>
<location>${project.build.directory}/generated-packaging/rpm/systemd/sysctl.d</location>
<includes>
<include>elasticsearch.conf</include>
</includes>
</source>
</sources>
2013-04-08 08:46:26 -04:00
</mapping>
<mapping>
<directory>/usr/lib/tmpfiles.d/</directory>
<configuration>true</configuration>
<sources>
<source>
<location>${project.build.directory}/generated-packaging/rpm/systemd/</location>
<includes>
<include>elasticsearch.conf</include>
</includes>
</source>
</sources>
</mapping>
<!-- Add readme files -->
<mapping>
<directory>${packaging.elasticsearch.home.dir}</directory>
<sources>
<source>
<location>.</location>
<includes>
<include>LICENSE.txt</include>
<include>NOTICE.txt</include>
<include>README.textile</include>
</includes>
</source>
</sources>
</mapping>
<!-- Add and sets permission on default directories -->
<mapping>
<directory>${packaging.elasticsearch.data.dir}</directory>
<filemode>755</filemode>
<username>${packaging.elasticsearch.user}</username>
<groupname>${packaging.elasticsearch.group}</groupname>
</mapping>
<mapping>
<directory>${packaging.elasticsearch.log.dir}</directory>
<filemode>755</filemode>
<username>${packaging.elasticsearch.user}</username>
<groupname>${packaging.elasticsearch.group}</groupname>
</mapping>
<mapping>
<directory>${packaging.elasticsearch.plugins.dir}</directory>
<filemode>755</filemode>
<username>${packaging.elasticsearch.user}</username>
<groupname>${packaging.elasticsearch.group}</groupname>
</mapping>
<mapping>
<directory>${packaging.elasticsearch.pid.dir}</directory>
<filemode>755</filemode>
<username>${packaging.elasticsearch.user}</username>
<groupname>${packaging.elasticsearch.group}</groupname>
</mapping>
</mappings>
<preinstallScriptlet>
<scriptFile>${project.build.directory}/generated-packaging/rpm/scripts/preinst</scriptFile>
<fileEncoding>utf-8</fileEncoding>
</preinstallScriptlet>
<postinstallScriptlet>
<scriptFile>${project.build.directory}/generated-packaging/rpm/scripts/postinst</scriptFile>
<fileEncoding>utf-8</fileEncoding>
</postinstallScriptlet>
<preremoveScriptlet>
<scriptFile>${project.build.directory}/generated-packaging/rpm/scripts/prerm</scriptFile>
<fileEncoding>utf-8</fileEncoding>
</preremoveScriptlet>
<postremoveScriptlet>
<scriptFile>${project.build.directory}/generated-packaging/rpm/scripts/postrm</scriptFile>
<fileEncoding>utf-8</fileEncoding>
</postremoveScriptlet>
</configuration>
</plugin>
<plugin>
<groupId>de.thetaphi</groupId>
<artifactId>forbiddenapis</artifactId>
2015-04-12 19:27:56 -04:00
<version>1.8</version>
<executions>
<execution>
<id>check-forbidden-apis</id>
<configuration>
2014-02-26 14:33:27 -05:00
<targetVersion>1.7</targetVersion>
<!-- disallow undocumented classes like sun.misc.Unsafe: -->
<internalRuntimeForbidden>true</internalRuntimeForbidden>
<!-- if the used Java version is too new, don't fail, just do nothing: -->
<failOnUnsupportedJava>false</failOnUnsupportedJava>
<excludes>
<exclude>jsr166e/**</exclude>
</excludes>
<bundledSignatures>
<!-- This will automatically choose the right signatures based on 'targetVersion': -->
<bundledSignature>jdk-unsafe</bundledSignature>
<bundledSignature>jdk-deprecated</bundledSignature>
<bundledSignature>jdk-system-out</bundledSignature>
</bundledSignatures>
<signaturesFiles>
<signaturesFile>dev-tools/forbidden/core-signatures.txt</signaturesFile>
<signaturesFile>dev-tools/forbidden/all-signatures.txt</signaturesFile>
</signaturesFiles>
<signatures>${forbidden.signatures}</signatures>
<suppressAnnotations><annotation>**.SuppressForbidden</annotation></suppressAnnotations>
</configuration>
<phase>compile</phase>
<goals>
<goal>check</goal>
</goals>
</execution>
<execution>
<id>check-forbidden-test-apis</id>
<configuration>
2014-02-26 14:33:27 -05:00
<targetVersion>1.7</targetVersion>
<!-- disallow undocumented classes like sun.misc.Unsafe: -->
<internalRuntimeForbidden>true</internalRuntimeForbidden>
<!-- if the used Java version is too new, don't fail, just do nothing: -->
<failOnUnsupportedJava>false</failOnUnsupportedJava>
<bundledSignatures>
<!-- This will automatically choose the right signatures based on 'targetVersion': -->
<bundledSignature>jdk-unsafe</bundledSignature>
<bundledSignature>jdk-deprecated</bundledSignature>
</bundledSignatures>
<excludes>
<!-- start exclude for test GC simulation using Thread.suspend -->
<exclude>org/elasticsearch/test/disruption/LongGCDisruption.class</exclude>
2014-08-29 03:01:05 -04:00
<!-- end exclude for GC simulation -->
<!-- start exclude for java.io.File bridging -->
<exclude>org/elasticsearch/test/ExternalNode.class</exclude>
<exclude>org/elasticsearch/test/ElasticsearchTestCase.class</exclude>
<!-- end exclude for java.io.File bridging -->
</excludes>
2014-04-27 16:45:20 -04:00
<signaturesFiles>
<signaturesFile>dev-tools/forbidden/test-signatures.txt</signaturesFile>
<signaturesFile>dev-tools/forbidden/all-signatures.txt</signaturesFile>
2014-04-27 16:45:20 -04:00
</signaturesFiles>
<signatures>${forbidden.test.signatures}</signatures>
</configuration>
<phase>test-compile</phase>
<goals>
<goal>testCheck</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.4</version>
<executions>
<execution>
<phase>prepare-package</phase>
<goals>
<goal>test-jar</goal>
</goals>
<configuration>
<includes>
<include>org/elasticsearch/test/**/*</include>
<include>org/elasticsearch/bootstrap/BootstrapForTesting.class</include>
2014-08-03 15:10:25 -04:00
<include>org/elasticsearch/common/cli/CliToolTestCase.class</include>
<include>org/elasticsearch/common/cli/CliToolTestCase$*.class</include>
</includes>
added REST test suites runner The REST layer can now be tested through tests that are shared between all the elasticsearch official clients. The tests are based on REST specification that can be found on the elasticsearch-rest-api-spec project and consist of YAML files that describe the operations to be executed and the obtained results that need to be tested. REST tests can be executed through the ElasticsearchRestTests class, which relies on the rest-spec git submodule that contains the rest spec and tests pulled from the elasticsearch-rest-spec-api project. The rest-spec submodule gets automatically initialized and updated through maven (generate-test-resources phase). The REST runner and the needed classes are distributed within the test artifact. The following are the options supported by the REST tests runner: - tests.rest[true|false|host:port]: determines whether the REST tests need to be run and if so whether to rely on an external cluster (providing host and port) or fire a test cluster (default) - tests.rest.suite: comma separated paths of the test suites to be run (by default loaded from /rest-spec/test classpath). it is possible to run only a subset of the tests providing a sub-folder or even a single yaml file (the default /rest-spec/test prefix is optional when files are loaded from classpath) e.g. -Dtests.rest.suite=index,get,create/10_with_id - tests.rest.spec: REST spec path (default /rest-spec/api from classpath) - tests.iters: runs multiple iterations - tests.seed: seed to base the random behaviours on - tests.appendseed[true|false]: enables adding the seed to each test section's description (default false) - tests.cluster_seed: seed used to create the test cluster (if enabled) Closes #4469
2013-12-07 09:41:51 -05:00
<excludes>
<!-- unit tests for yaml suite parser & rest spec parser need to be excluded -->
<exclude>org/elasticsearch/test/rest/test/**/*</exclude>
<!-- unit tests for test framework classes-->
<exclude>org/elasticsearch/test/test/**/*</exclude>
added REST test suites runner The REST layer can now be tested through tests that are shared between all the elasticsearch official clients. The tests are based on REST specification that can be found on the elasticsearch-rest-api-spec project and consist of YAML files that describe the operations to be executed and the obtained results that need to be tested. REST tests can be executed through the ElasticsearchRestTests class, which relies on the rest-spec git submodule that contains the rest spec and tests pulled from the elasticsearch-rest-spec-api project. The rest-spec submodule gets automatically initialized and updated through maven (generate-test-resources phase). The REST runner and the needed classes are distributed within the test artifact. The following are the options supported by the REST tests runner: - tests.rest[true|false|host:port]: determines whether the REST tests need to be run and if so whether to rely on an external cluster (providing host and port) or fire a test cluster (default) - tests.rest.suite: comma separated paths of the test suites to be run (by default loaded from /rest-spec/test classpath). it is possible to run only a subset of the tests providing a sub-folder or even a single yaml file (the default /rest-spec/test prefix is optional when files are loaded from classpath) e.g. -Dtests.rest.suite=index,get,create/10_with_id - tests.rest.spec: REST spec path (default /rest-spec/api from classpath) - tests.iters: runs multiple iterations - tests.seed: seed to base the random behaviours on - tests.appendseed[true|false]: enables adding the seed to each test section's description (default false) - tests.cluster_seed: seed used to create the test cluster (if enabled) Closes #4469
2013-12-07 09:41:51 -05:00
</excludes>
</configuration>
</execution>
</executions>
</plugin>
2014-01-11 18:26:34 -05:00
</plugins>
<pluginManagement>
<plugins>
<!-- make m2e stfu -->
<plugin>
<groupId>org.eclipse.m2e</groupId>
<artifactId>lifecycle-mapping</artifactId>
<version>1.0.0</version>
<configuration>
<lifecycleMappingMetadata>
<pluginExecutions>
<!-- copy-dependency plugin -->
<pluginExecution>
<pluginExecutionFilter>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<versionRange>[1.0.0,)</versionRange>
<goals>
<goal>copy-dependencies</goal>
</goals>
</pluginExecutionFilter>
<action>
2014-01-11 18:26:34 -05:00
<execute/>
</action>
</pluginExecution>
<!-- forbidden-apis plugin -->
<pluginExecution>
<pluginExecutionFilter>
<groupId>de.thetaphi</groupId>
<artifactId>forbiddenapis</artifactId>
<versionRange>[1.0.0,)</versionRange>
<goals>
<goal>testCheck</goal>
<goal>check</goal>
</goals>
</pluginExecutionFilter>
<action>
2014-01-11 18:26:34 -05:00
<execute/>
</action>
</pluginExecution>
<!-- exec-maven plugin -->
<pluginExecution>
<pluginExecutionFilter>
<artifactId>exec-maven-plugin</artifactId>
<groupId>org.codehaus.mojo</groupId>
<versionRange>[1.0.0,)</versionRange>
<goals>
<goal>exec</goal>
</goals>
</pluginExecutionFilter>
<action>
2014-01-11 18:26:34 -05:00
<execute/>
</action>
</pluginExecution>
<!-- copy-dependency plugin -->
<pluginExecution>
<pluginExecutionFilter>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<versionRange>[1.0.0,)</versionRange>
<goals>
<goal>enforce</goal>
</goals>
</pluginExecutionFilter>
<action>
2014-01-11 18:26:34 -05:00
<execute/>
</action>
</pluginExecution>
<pluginExecution>
<pluginExecutionFilter>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<versionRange>[1.0.0,)</versionRange>
<goals>
<goal>run</goal>
</goals>
</pluginExecutionFilter>
<action>
<ignore/>
</action>
</pluginExecution>
<pluginExecution>
<pluginExecutionFilter>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<versionRange>[1.0.0,)</versionRange>
<goals>
<goal>copy-resources</goal>
</goals>
</pluginExecutionFilter>
<action>
2015-04-10 05:37:26 -04:00
<ignore/>
</action>
</pluginExecution>
<pluginExecution>
<pluginExecutionFilter>
<groupId>com.mycila</groupId>
<artifactId>license-maven-plugin</artifactId>
<versionRange>[1.0.0,)</versionRange>
<goals>
<goal>check</goal>
</goals>
</pluginExecutionFilter>
<action>
<ignore/>
</action>
</pluginExecution>
</pluginExecutions>
</lifecycleMappingMetadata>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-eclipse-plugin</artifactId>
<version>2.9</version>
<configuration>
2013-09-16 03:13:42 -04:00
<buildOutputDirectory>eclipse-build</buildOutputDirectory>
2015-04-17 17:16:03 -04:00
<downloadSources>true</downloadSources>
</configuration>
</plugin>
</plugins>
</pluginManagement>
2011-12-05 18:05:44 -05:00
</build>
2014-02-07 19:18:31 -05:00
<profiles>
2014-08-29 03:01:05 -04:00
<!-- default profile, with randomization setting kicks in -->
<profile>
<id>default</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<build>
<plugins>
<plugin>
<groupId>com.carrotsearch.randomizedtesting</groupId>
<artifactId>junit4-maven-plugin</artifactId>
<configuration>
<argLine>${tests.jvm.argline}</argLine>
</configuration>
</plugin>
<plugin>
<groupId>com.mycila</groupId>
<artifactId>license-maven-plugin</artifactId>
<version>2.5</version>
<configuration>
<header>dev-tools/elasticsearch_license_header.txt</header>
<headerDefinitions>
<headerDefinition>dev-tools/license_header_definition.xml</headerDefinition>
</headerDefinitions>
<includes>
<include>src/main/java/org/elasticsearch/**/*.java</include>
<include>src/test/java/org/elasticsearch/**/*.java</include>
</includes>
<excludes>
<!-- Guice -->
<exclude>src/main/java/org/elasticsearch/common/inject/**</exclude>
2014-08-29 03:01:05 -04:00
<exclude>src/main/java/org/elasticsearch/common/geo/GeoHashUtils.java</exclude>
<exclude>src/main/java/org/elasticsearch/common/lucene/search/XBooleanFilter.java</exclude>
<exclude>src/main/java/org/elasticsearch/common/lucene/search/XFilteredQuery.java</exclude>
<exclude>src/main/java/org/apache/lucene/queryparser/XSimpleQueryParser.java</exclude>
<exclude>src/main/java/org/apache/lucene/**/X*.java</exclude>
<!-- t-digest -->
<exclude>src/main/java/org/elasticsearch/search/aggregations/metrics/percentiles/tdigest/TDigestState.java</exclude>
2014-08-29 03:01:05 -04:00
<exclude>src/test/java/org/elasticsearch/search/aggregations/metrics/GroupTree.java</exclude>
<!-- netty pipelining -->
<exclude>src/main/java/org/elasticsearch/http/netty/pipelining/**</exclude>
2014-08-29 03:01:05 -04:00
</excludes>
</configuration>
<executions>
<execution>
<phase>compile</phase>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<!-- profile for development that doesn't check forbidden-apis, no-commit validation or license headers run with mvn -Pdev -->
<profile>
<id>dev</id>
<properties>
<validate.skip>true</validate.skip>
</properties>
<build>
<plugins>
<plugin>
<groupId>de.thetaphi</groupId>
<artifactId>forbiddenapis</artifactId>
<version>1.5.1</version>
<executions>
<execution>
<id>check-forbidden-apis</id>
<phase>none</phase>
</execution>
<execution>
<id>check-forbidden-test-apis</id>
<phase>none</phase>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<!-- license profile, to generate third party license file -->
<profile>
<id>license</id>
<activation>
<property>
<name>license.generation</name>
<value>true</value>
</property>
</activation>
<!-- not including license-maven-plugin is sufficent to expose default license -->
</profile>
<!-- jacoco coverage profile. This will insert -jagent -->
<profile>
<id>coverage</id>
<activation>
<property>
<name>tests.coverage</name>
<value>true</value>
</property>
</activation>
<dependencies>
<dependency>
<!-- must be on the classpath -->
<groupId>org.jacoco</groupId>
<artifactId>org.jacoco.agent</artifactId>
<classifier>runtime</classifier>
<version>0.6.4.201312101107</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.6.4.201312101107</version>
<executions>
<execution>
<id>default-prepare-agent</id>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
<execution>
<id>default-report</id>
<phase>prepare-package</phase>
<goals>
<goal>report</goal>
</goals>
</execution>
<execution>
<id>default-check</id>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
<configuration>
<excludes>
<exclude>jsr166e/**</exclude>
<exclude>org/apache/lucene/**</exclude>
</excludes>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>static</id>
<activation>
<property>
<name>tests.static</name>
<value>true</value>
</property>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>findbugs-maven-plugin</artifactId>
<version>2.5.3</version>
</plugin>
</plugins>
</build>
<reporting>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jxr-plugin</artifactId>
<version>2.3</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-pmd-plugin</artifactId>
<version>3.0.1</version>
<configuration>
<rulesets>
<ruleset>${basedir}/dev-tools/pmd/custom.xml</ruleset>
</rulesets>
<targetJdk>1.7</targetJdk>
<excludes>
<exclude>**/jsr166e/**</exclude>
<exclude>**/org/apache/lucene/**</exclude>
<exclude>**/org/apache/elasticsearch/common/Base64.java</exclude>
</excludes>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>findbugs-maven-plugin</artifactId>
<version>2.5.3</version>
<configuration>
<xmlOutput>true</xmlOutput>
<xmlOutputDirectory>target/site</xmlOutputDirectory>
<fork>true</fork>
<maxHeap>2048</maxHeap>
<timeout>1800000</timeout>
<onlyAnalyze>org.elasticsearch.-</onlyAnalyze>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-project-info-reports-plugin</artifactId>
<version>2.7</version>
<reportSets>
<reportSet>
<reports>
<report>index</report>
</reports>
</reportSet>
</reportSets>
</plugin>
</plugins>
</reporting>
</profile>
2014-02-07 19:18:31 -05:00
</profiles>
</project>