Repository: ignite Updated Branches: refs/heads/master 4232692d7 -> a4d9fec78
IGNITE-4841: Improved TextQuery documentation. This closes #5539. Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/a4d9fec7 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/a4d9fec7 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/a4d9fec7 Branch: refs/heads/master Commit: a4d9fec78df2324bef1bb51ec5ff4c560f57dda6 Parents: 4232692 Author: AMRepo <[email protected]> Authored: Mon Dec 10 12:10:53 2018 +0300 Committer: devozerov <[email protected]> Committed: Mon Dec 10 12:10:53 2018 +0300 ---------------------------------------------------------------------- .../org/apache/ignite/cache/query/Query.java | 20 ++++++++++-- .../apache/ignite/cache/query/TextQuery.java | 32 +++++++++++++++++++- 2 files changed, 48 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/a4d9fec7/modules/core/src/main/java/org/apache/ignite/cache/query/Query.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/cache/query/Query.java b/modules/core/src/main/java/org/apache/ignite/cache/query/Query.java index c9ed464..3b3786f 100644 --- a/modules/core/src/main/java/org/apache/ignite/cache/query/Query.java +++ b/modules/core/src/main/java/org/apache/ignite/cache/query/Query.java @@ -25,9 +25,23 @@ import org.apache.ignite.internal.util.typedef.internal.A; import org.apache.ignite.internal.util.typedef.internal.S; /** - * Base class for all Ignite cache queries. - * Use {@link SqlQuery} and {@link TextQuery} for SQL and - * text queries accordingly. + * Main API for configuring and executing cache queries. + * + * Supported queries are: + * <ul> + * <li><b>SQL Fields query.</b>Provides SQL way with full syntax to access cache data. + * See {@link SqlFieldsQuery} for details.</li> + * <li><b>SQL query.</b> Provides SQL way with simplified syntax to access cache data. + * See {@link SqlQuery} for details.</li> + * <li><b>Full-text query.</b> Uses full-text search engine based on Apache Lucene engine. + * See {@link TextQuery} for details.</li> + * <li><b>Scan query.</b> Provides effective and flexible way to full cache\partition scan. + * See {@link ScanQuery} for details.</li> + * <li><b>Continuous query.</b> Provides flexible way to process all existed cache data and all future cache updates as well. + * See {@link ContinuousQuery} for details.</li> + * <li><b>Spi query.</b> Allow run queries for pluggable user query engine implementation. + * See {@link SpiQuery} for details.</li> + * </ul> * * @see IgniteCache#query(Query) */ http://git-wip-us.apache.org/repos/asf/ignite/blob/a4d9fec7/modules/core/src/main/java/org/apache/ignite/cache/query/TextQuery.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/cache/query/TextQuery.java b/modules/core/src/main/java/org/apache/ignite/cache/query/TextQuery.java index 23c1bc5..18a4e3c 100644 --- a/modules/core/src/main/java/org/apache/ignite/cache/query/TextQuery.java +++ b/modules/core/src/main/java/org/apache/ignite/cache/query/TextQuery.java @@ -19,12 +19,42 @@ package org.apache.ignite.cache.query; import javax.cache.Cache; import org.apache.ignite.IgniteCache; +import org.apache.ignite.cache.query.annotations.QueryTextField; import org.apache.ignite.internal.processors.query.QueryUtils; import org.apache.ignite.internal.util.typedef.internal.A; import org.apache.ignite.internal.util.typedef.internal.S; /** - * Query for Lucene based fulltext search. + * <h1 class="header">Full Text Queries</h1> + * Ignite supports full text queries based on Apache Lucene engine. + * Note that all fields that are expected to show up in text query results must be annotated with {@link QueryTextField} + * + * <h2 class="header">Query usage</h2> + * Ignite TextQuery supports classic Lucene query syntax. + * See Lucene classic MultiFieldQueryParser and StandardAnalyzer javadoc for details. + * As an example, suppose we have data model consisting of {@code 'Employee'} class defined as follows: + * <pre name="code" class="java"> + * public class Person { + * private long id; + * + * private String name; + * + * // Index for text search. + * @QueryTextField + * private String resume; + * ... + * } + * </pre> + * + * Here is a possible query that will use Lucene text search to scan all resumes to + * check if employees have {@code Master} degree: + * <pre name="code" class="java"> + * Query<Cache.Entry<Long, Person>> qry = + * new TextQuery(Person.class, "Master"); + * + * // Query all cache nodes. + * cache.query(qry).getAll(); + * </pre> * * @see IgniteCache#query(Query) */
