This is an automated email from the ASF dual-hosted git repository.

airborne pushed a commit to branch clucene-3.0
in repository https://gitbox.apache.org/repos/asf/doris-thirdparty.git


The following commit(s) were added to refs/heads/clucene-3.0 by this push:
     new 6046125ce7f [opt] remove useless lock in analyzer (#346) (#351)
6046125ce7f is described below

commit 6046125ce7f9bb8631427ff8ee1ce93e07edb421
Author: Jack <[email protected]>
AuthorDate: Thu Aug 14 18:35:07 2025 +0800

    [opt] remove useless lock in analyzer (#346) (#351)
---
 src/core/CLucene/analysis/AnalysisHeader.cpp | 22 +++-------------------
 src/core/CLucene/analysis/AnalysisHeader.h   | 15 +++++++--------
 2 files changed, 10 insertions(+), 27 deletions(-)

diff --git a/src/core/CLucene/analysis/AnalysisHeader.cpp 
b/src/core/CLucene/analysis/AnalysisHeader.cpp
index bd2e3b3ee5a..19b4c7e1a7f 100644
--- a/src/core/CLucene/analysis/AnalysisHeader.cpp
+++ b/src/core/CLucene/analysis/AnalysisHeader.cpp
@@ -13,25 +13,9 @@
 CL_NS_USE(util)
 CL_NS_DEF(analysis)
 
-struct Analyzer::Internal{
-    CL_NS(util)::ThreadLocal<TokenStream*,
-                             CL_NS(util)::Deletor::Object<TokenStream> >* 
tokenStreams;
-};
-Analyzer::Analyzer(){
-    _internal = new Internal;
-    _internal->tokenStreams = _CLNEW CL_NS(util)::ThreadLocal<TokenStream*,
-                                                              
CL_NS(util)::Deletor::Object<TokenStream> >;
-}
-Analyzer::~Analyzer(){
-    _CLLDELETE(_internal->tokenStreams);
-    delete _internal;
-}
-TokenStream* Analyzer::getPreviousTokenStream() {
-    return _internal->tokenStreams->get();
-}
-void Analyzer::setPreviousTokenStream(TokenStream* obj) {
-    _internal->tokenStreams->set(obj);
-}
+Analyzer::Analyzer(){}
+Analyzer::~Analyzer(){}
+
 TokenStream* Analyzer::reusableTokenStream(const TCHAR* fieldName, 
CL_NS(util)::Reader* reader) {
     return tokenStream(fieldName, reader);
 }
diff --git a/src/core/CLucene/analysis/AnalysisHeader.h 
b/src/core/CLucene/analysis/AnalysisHeader.h
index e1528d2f94a..ee98644c8e6 100644
--- a/src/core/CLucene/analysis/AnalysisHeader.h
+++ b/src/core/CLucene/analysis/AnalysisHeader.h
@@ -309,26 +309,25 @@ public:
         _ownReader = ownReader;
     }
 
-private:
-
-    DEFINE_MUTEX(THIS_LOCK)
-    struct Internal;
-    Internal* _internal;
 protected:
 
     /** Used by Analyzers that implement reusableTokenStream
        *  to retrieve previously saved TokenStreams for re-use
        *  by the same thread. */
-    virtual TokenStream* getPreviousTokenStream();
+    virtual TokenStream* getPreviousTokenStream() {
+        return prev_tokenStream;
+    }
 
     /** Used by Analyzers that implement reusableTokenStream
        *  to save a TokenStream for later re-use by the same
        *  thread. */
-    virtual void setPreviousTokenStream(TokenStream* obj);
-
+    virtual void setPreviousTokenStream(TokenStream* obj) {
+        prev_tokenStream = obj;
+    }
     bool _lowercase = false;
     bool _ownReader = false;
     std::unordered_set<std::string_view>* _stopwords = nullptr;
+    TokenStream* prev_tokenStream{};
 
 public:
     /**


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to