aboutsummaryrefslogtreecommitdiff
path: root/icing/scoring/advanced_scoring/scoring-visitor.h
diff options
context:
space:
mode:
authorAlex Saveliev <alexsav@google.com>2023-02-07 20:02:36 -0800
committerAlex Saveliev <alexsav@google.com>2023-02-07 20:25:19 -0800
commit5a41ca990be33387b0d5d15836a465bbe5ff5a28 (patch)
tree10e0e3d043aa1ba8effa3964ccf3287d83961cb0 /icing/scoring/advanced_scoring/scoring-visitor.h
parentcccafab8dfcae94d7072eb49ea971e3c688bdfc4 (diff)
downloadicing-5a41ca990be33387b0d5d15836a465bbe5ff5a28.tar.gz
Update icing from upstream
====================================================================== Adds a proto change for the delete propagation option ====================================================================== [ez] Change version to magic for PersistentHashMap ====================================================================== [iOS][testing][nitro] Disabling ICU language segmenter_test. ====================================================================== 1. Add support for segmentation in the QueryVisitor. ====================================================================== Support the new double list type in ScoreExpression ====================================================================== Pass JoinChildrenFetcher from IcingSearchEngine all the way down to ScoringVisitor ====================================================================== Refactor the logic of Icing Joins so that nested search and scoring will be performed before the parent ====================================================================== Add lite-index thread-safety tests. ====================================================================== Split IcingSearchEngineTest into separate tests to cover specific apis: ====================================================================== Fix index tests TearDown method. ====================================================================== Improve query concurrency by providing a finer-grained lock around the LiteIndex. ====================================================================== Fix Icing normalization bug ====================================================================== [ez] Fix integer overflow error for IntegerIndexStorage ====================================================================== [NumericSearch][Storage][11/x] Implement Reset and destructor for IntegerIndex ====================================================================== [NumericSearch][Storage][10/x] Add class IntegerIndex ====================================================================== Refactor NumericIndex based on PersistentStorage ====================================================================== Refactor IntegerIndexStorage based on PersistentStorage ====================================================================== Add "working_path" into PersistentStorage ====================================================================== Refactor PersistentHashMap based on PersistentStorage ====================================================================== Create virtual class PersistentStorage for refactoring ====================================================================== Avoids returning reference to local temporary object. ====================================================================== LSC: Clean up references to the legacy protobuf compat library ====================================================================== Fix time complexity regression for snippet retriever Bug: 256022027 Bug: 193919210 Bug: 266132035 Bug: 208654892 Bug: 261474063 Bug: 266103594 Bug: 146008613 Bug: 253182853 Bug: 266204868 Bug: 249829533 Bug: 266665956 Bug: 265258364 Change-Id: Ib2398c5097b6a2a57900e2ad4e3737502aa13820
Diffstat (limited to 'icing/scoring/advanced_scoring/scoring-visitor.h')
-rw-r--r--icing/scoring/advanced_scoring/scoring-visitor.h9
1 files changed, 7 insertions, 2 deletions
diff --git a/icing/scoring/advanced_scoring/scoring-visitor.h b/icing/scoring/advanced_scoring/scoring-visitor.h
index 539af2d..9b01f73 100644
--- a/icing/scoring/advanced_scoring/scoring-visitor.h
+++ b/icing/scoring/advanced_scoring/scoring-visitor.h
@@ -17,6 +17,7 @@
#include "icing/text_classifier/lib3/utils/base/status.h"
#include "icing/text_classifier/lib3/utils/base/statusor.h"
+#include "icing/join/join-children-fetcher.h"
#include "icing/legacy/core/icing-string-util.h"
#include "icing/proto/scoring.pb.h"
#include "icing/query/advanced_query_parser/abstract-syntax-tree.h"
@@ -32,11 +33,13 @@ class ScoringVisitor : public AbstractSyntaxTreeVisitor {
explicit ScoringVisitor(double default_score,
const DocumentStore* document_store,
const SchemaStore* schema_store,
- Bm25fCalculator* bm25f_calculator)
+ Bm25fCalculator* bm25f_calculator,
+ const JoinChildrenFetcher* join_children_fetcher)
: default_score_(default_score),
document_store_(*document_store),
schema_store_(*schema_store),
- bm25f_calculator_(*bm25f_calculator) {}
+ bm25f_calculator_(*bm25f_calculator),
+ join_children_fetcher_(join_children_fetcher) {}
void VisitFunctionName(const FunctionNameNode* node) override;
void VisitString(const StringNode* node) override;
@@ -86,6 +89,8 @@ class ScoringVisitor : public AbstractSyntaxTreeVisitor {
const DocumentStore& document_store_;
const SchemaStore& schema_store_;
Bm25fCalculator& bm25f_calculator_;
+ // A non-null join_children_fetcher_ indicates scoring in a join.
+ const JoinChildrenFetcher* join_children_fetcher_; // Does not own.
libtextclassifier3::Status pending_error_;
std::vector<std::unique_ptr<ScoreExpression>> stack;