Skip to content

Commit b77cdc3

Browse files
feat: Search stages enters public preview (#7949)
Limited search support for public preview. --------- Co-authored-by: wu-hui <wu.hui.github@gmail.com> Co-authored-by: wu-hui <53845758+wu-hui@users.noreply.github.com>
1 parent 1f5b6dd commit b77cdc3

8 files changed

Lines changed: 1554 additions & 9 deletions

File tree

firebase-config/gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
# limitations under the License.
1515
#
1616

17-
version=23.0.2
17+
version=23.1.0
1818
latestReleasedVersion=23.0.1
1919
android.enableUnitTestBinaryResources=true
2020

firebase-firestore/CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@
1313
[#7893](https://github.com/firebase/firebase-android-sdk/pull/7893)
1414
- [feature] Added support for `rand` and `trunc` Pipeline expressions.
1515
[#7886](https://github.com/firebase/firebase-android-sdk/pull/7886)
16+
- [feature] Add public preview support for full-text search and geo search.
17+
[#7949](https://github.com/firebase/firebase-android-sdk/pull/7949)
1618
- [feature] Added support for `ltrim`, `rtrim`, `stringIndexOf`, `stringRepeat`, `stringReplaceOne`, and `stringReplaceAll` Pipeline expressions.
1719
[#7978](https://github.com/firebase/firebase-android-sdk/pull/7978)
1820
- [feature] Added support for `mapGet` `mapSet`, `mapEntries`, and `mapKeys` Pipeline expressions.

firebase-firestore/api.txt

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -441,6 +441,7 @@ package com.google.firebase.firestore {
441441
method public com.google.firebase.firestore.Pipeline replaceWith(String field);
442442
method public com.google.firebase.firestore.Pipeline sample(com.google.firebase.firestore.pipeline.SampleStage sample);
443443
method public com.google.firebase.firestore.Pipeline sample(int documents);
444+
method @com.google.common.annotations.Beta public com.google.firebase.firestore.Pipeline search(com.google.firebase.firestore.pipeline.SearchStage searchStage);
444445
method public com.google.firebase.firestore.Pipeline select(com.google.firebase.firestore.pipeline.Selectable selection, java.lang.Object... additionalSelections);
445446
method public com.google.firebase.firestore.Pipeline select(String fieldName, java.lang.Object... additionalSelections);
446447
method public com.google.firebase.firestore.Pipeline sort(com.google.firebase.firestore.pipeline.Ordering order, com.google.firebase.firestore.pipeline.Ordering... additionalOrders);
@@ -1000,6 +1001,7 @@ package com.google.firebase.firestore.pipeline {
10001001
method public static final com.google.firebase.firestore.pipeline.Expression documentId(com.google.firebase.firestore.DocumentReference docRef);
10011002
method public static final com.google.firebase.firestore.pipeline.Expression documentId(com.google.firebase.firestore.pipeline.Expression documentPath);
10021003
method public static final com.google.firebase.firestore.pipeline.Expression documentId(String documentPath);
1004+
method @com.google.common.annotations.Beta public static final com.google.firebase.firestore.pipeline.BooleanExpression documentMatches(String rquery);
10031005
method public final com.google.firebase.firestore.pipeline.Expression dotProduct(com.google.firebase.firestore.pipeline.Expression vector);
10041006
method public static final com.google.firebase.firestore.pipeline.Expression dotProduct(com.google.firebase.firestore.pipeline.Expression vector1, com.google.firebase.firestore.pipeline.Expression vector2);
10051007
method public static final com.google.firebase.firestore.pipeline.Expression dotProduct(com.google.firebase.firestore.pipeline.Expression vector1, com.google.firebase.firestore.VectorValue vector2);
@@ -1048,6 +1050,8 @@ package com.google.firebase.firestore.pipeline {
10481050
method public final com.google.firebase.firestore.pipeline.Expression floor();
10491051
method public static final com.google.firebase.firestore.pipeline.Expression floor(com.google.firebase.firestore.pipeline.Expression numericExpr);
10501052
method public static final com.google.firebase.firestore.pipeline.Expression floor(String numericField);
1053+
method @com.google.common.annotations.Beta public static final com.google.firebase.firestore.pipeline.Expression geoDistance(com.google.firebase.firestore.pipeline.Field field, com.google.firebase.firestore.GeoPoint location);
1054+
method @com.google.common.annotations.Beta public static final com.google.firebase.firestore.pipeline.Expression geoDistance(String fieldName, com.google.firebase.firestore.GeoPoint location);
10511055
method public final com.google.firebase.firestore.pipeline.Expression getField(com.google.firebase.firestore.pipeline.Expression keyExpression);
10521056
method public static final com.google.firebase.firestore.pipeline.Expression getField(com.google.firebase.firestore.pipeline.Expression expression, com.google.firebase.firestore.pipeline.Expression keyExpression);
10531057
method public static final com.google.firebase.firestore.pipeline.Expression getField(com.google.firebase.firestore.pipeline.Expression expression, String key);
@@ -1253,6 +1257,7 @@ package com.google.firebase.firestore.pipeline {
12531257
method public final com.google.firebase.firestore.pipeline.Expression rtrimValue(String valuesToTrim);
12541258
method public static final com.google.firebase.firestore.pipeline.Expression rtrimValue(String fieldName, com.google.firebase.firestore.pipeline.Expression valuesToTrim);
12551259
method public static final com.google.firebase.firestore.pipeline.Expression rtrimValue(String fieldName, String valuesToTrim);
1260+
method @com.google.common.annotations.Beta public static final com.google.firebase.firestore.pipeline.Expression score();
12561261
method public final com.google.firebase.firestore.pipeline.Expression split(com.google.firebase.firestore.Blob delimiter);
12571262
method public final com.google.firebase.firestore.pipeline.Expression split(com.google.firebase.firestore.pipeline.Expression delimiter);
12581263
method public static final com.google.firebase.firestore.pipeline.Expression split(com.google.firebase.firestore.pipeline.Expression value, com.google.firebase.firestore.Blob delimiter);
@@ -1561,6 +1566,7 @@ package com.google.firebase.firestore.pipeline {
15611566
method public com.google.firebase.firestore.pipeline.Expression documentId(com.google.firebase.firestore.DocumentReference docRef);
15621567
method public com.google.firebase.firestore.pipeline.Expression documentId(com.google.firebase.firestore.pipeline.Expression documentPath);
15631568
method public com.google.firebase.firestore.pipeline.Expression documentId(String documentPath);
1569+
method @com.google.common.annotations.Beta public com.google.firebase.firestore.pipeline.BooleanExpression documentMatches(String rquery);
15641570
method public com.google.firebase.firestore.pipeline.Expression dotProduct(com.google.firebase.firestore.pipeline.Expression vector1, com.google.firebase.firestore.pipeline.Expression vector2);
15651571
method public com.google.firebase.firestore.pipeline.Expression dotProduct(com.google.firebase.firestore.pipeline.Expression vector1, com.google.firebase.firestore.VectorValue vector2);
15661572
method public com.google.firebase.firestore.pipeline.Expression dotProduct(com.google.firebase.firestore.pipeline.Expression vector1, double[] vector2);
@@ -1593,6 +1599,8 @@ package com.google.firebase.firestore.pipeline {
15931599
method public com.google.firebase.firestore.pipeline.Field field(String name);
15941600
method public com.google.firebase.firestore.pipeline.Expression floor(com.google.firebase.firestore.pipeline.Expression numericExpr);
15951601
method public com.google.firebase.firestore.pipeline.Expression floor(String numericField);
1602+
method @com.google.common.annotations.Beta public com.google.firebase.firestore.pipeline.Expression geoDistance(com.google.firebase.firestore.pipeline.Field field, com.google.firebase.firestore.GeoPoint location);
1603+
method @com.google.common.annotations.Beta public com.google.firebase.firestore.pipeline.Expression geoDistance(String fieldName, com.google.firebase.firestore.GeoPoint location);
15961604
method public com.google.firebase.firestore.pipeline.Expression getField(com.google.firebase.firestore.pipeline.Expression expression, com.google.firebase.firestore.pipeline.Expression keyExpression);
15971605
method public com.google.firebase.firestore.pipeline.Expression getField(com.google.firebase.firestore.pipeline.Expression expression, String key);
15981606
method public com.google.firebase.firestore.pipeline.Expression getField(String fieldName, com.google.firebase.firestore.pipeline.Expression keyExpression);
@@ -1732,6 +1740,7 @@ package com.google.firebase.firestore.pipeline {
17321740
method public com.google.firebase.firestore.pipeline.Expression rtrimValue(com.google.firebase.firestore.pipeline.Expression stringExpression, String valuesToTrim);
17331741
method public com.google.firebase.firestore.pipeline.Expression rtrimValue(String fieldName, com.google.firebase.firestore.pipeline.Expression valuesToTrim);
17341742
method public com.google.firebase.firestore.pipeline.Expression rtrimValue(String fieldName, String valuesToTrim);
1743+
method @com.google.common.annotations.Beta public com.google.firebase.firestore.pipeline.Expression score();
17351744
method public com.google.firebase.firestore.pipeline.Expression split(com.google.firebase.firestore.pipeline.Expression value, com.google.firebase.firestore.Blob delimiter);
17361745
method public com.google.firebase.firestore.pipeline.Expression split(com.google.firebase.firestore.pipeline.Expression value, com.google.firebase.firestore.pipeline.Expression delimiter);
17371746
method public com.google.firebase.firestore.pipeline.Expression split(com.google.firebase.firestore.pipeline.Expression value, String delimiter);
@@ -1851,6 +1860,7 @@ package com.google.firebase.firestore.pipeline {
18511860
}
18521861

18531862
public final class Field extends com.google.firebase.firestore.pipeline.Selectable {
1863+
method @com.google.common.annotations.Beta public com.google.firebase.firestore.pipeline.Expression geoDistance(com.google.firebase.firestore.GeoPoint location);
18541864
field public static final com.google.firebase.firestore.pipeline.Field.Companion Companion;
18551865
}
18561866

@@ -1950,6 +1960,19 @@ package com.google.firebase.firestore.pipeline {
19501960
property public final error.NonExistentClass PERCENT;
19511961
}
19521962

1963+
@com.google.common.annotations.Beta public final class SearchStage extends com.google.firebase.firestore.pipeline.Stage<com.google.firebase.firestore.pipeline.SearchStage> {
1964+
method public com.google.firebase.firestore.pipeline.SearchStage withAddFields(com.google.firebase.firestore.pipeline.Selectable field, com.google.firebase.firestore.pipeline.Selectable... additionalFields);
1965+
method public static com.google.firebase.firestore.pipeline.SearchStage withQuery(com.google.firebase.firestore.pipeline.BooleanExpression query);
1966+
method public static com.google.firebase.firestore.pipeline.SearchStage withQuery(String rquery);
1967+
method public com.google.firebase.firestore.pipeline.SearchStage withSort(com.google.firebase.firestore.pipeline.Ordering order, com.google.firebase.firestore.pipeline.Ordering... additionalOrderings);
1968+
field public static final com.google.firebase.firestore.pipeline.SearchStage.Companion Companion;
1969+
}
1970+
1971+
public static final class SearchStage.Companion {
1972+
method public com.google.firebase.firestore.pipeline.SearchStage withQuery(com.google.firebase.firestore.pipeline.BooleanExpression query);
1973+
method public com.google.firebase.firestore.pipeline.SearchStage withQuery(String rquery);
1974+
}
1975+
19531976
public abstract class Selectable extends com.google.firebase.firestore.pipeline.Expression {
19541977
ctor public Selectable();
19551978
}
@@ -1961,6 +1984,10 @@ package com.google.firebase.firestore.pipeline {
19611984
method protected final T withOption(String key, error.NonExistentClass value);
19621985
method public final T withOption(String key, String value);
19631986
method public final T withOption(String key, long value);
1987+
field public static final com.google.firebase.firestore.pipeline.Stage.Companion Companion;
1988+
}
1989+
1990+
public static final class Stage.Companion {
19641991
}
19651992

19661993
public final class SubcollectionSource extends com.google.firebase.firestore.pipeline.Stage<com.google.firebase.firestore.pipeline.SubcollectionSource> {

0 commit comments

Comments
 (0)