diff options
| author | Ralph Amissah <ralph@amissah.com> | 2013-09-07 01:49:55 -0400 | 
|---|---|---|
| committer | Ralph Amissah <ralph@amissah.com> | 2013-09-07 01:49:55 -0400 | 
| commit | 3b73f8c22733a7bddc4ffb8316db7caa0aae734c (patch) | |
| tree | 7e400acbf792163f867be3635a881b2960d304b2 /lib | |
| parent | debian/changelog (4.2.2-1) (diff) | |
| parent | v5: db, book index, convert hash back to string (diff) | |
Merge tag 'sisu_4.2.3' into debian/sid
SiSU 4.2.3
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/sisu/v5/dal_doc_str.rb | 3 | ||||
| -rw-r--r-- | lib/sisu/v5/db_import.rb | 30 | 
2 files changed, 27 insertions, 6 deletions
| diff --git a/lib/sisu/v5/dal_doc_str.rb b/lib/sisu/v5/dal_doc_str.rb index 5b6c03bf..87e5c908 100644 --- a/lib/sisu/v5/dal_doc_str.rb +++ b/lib/sisu/v5/dal_doc_str.rb @@ -196,7 +196,8 @@ module SiSU_DAL_DocumentStructureExtract              ? term_node              : (term_node + '+0')              term_nodes << term_node -            @use,plus=rgx_idx_ocn_seg.match(term_node)[1,2] +            use,plus=rgx_idx_ocn_seg.match(term_node)[1,2] +            @use=use.strip              idx_hash[@use]={ sub: [], plus: plus } unless idx_hash[@use] and defined? idx_hash[@use]            when Array              subterm_nodes=[] diff --git a/lib/sisu/v5/db_import.rb b/lib/sisu/v5/db_import.rb index 5f89c968..bcb22de8 100644 --- a/lib/sisu/v5/db_import.rb +++ b/lib/sisu/v5/db_import.rb @@ -209,6 +209,26 @@ module SiSU_DbImport      end      def pf_db_import_transaction_close      end +    def book_idx_hash_to_str(book_idx) +      book_idx=book_idx ? book_idx : '' +      book_idx_str,book_subidx_part='','' +      if not book_idx.empty? +        book_idx_str='' +        book_idx.each_pair do |k0,v0| +          book_idx_str << %{#{k0}+#{v0[:plus]}} +          book_subidx_part='' +          if v0[:sub].length > 0 +            v0[:sub].each do |subterms| +               subterms.each_pair do |k1,v1| +                 book_subidx_part << %{\n  #{k1}+#{v1[:plus]} | } +               end +            end +            book_idx_str=book_idx_str + ':' + book_subidx_part +          end +        end +      end +      book_idx_str +    end      def db_import_metadata                                                       #% import documents - populate database        print %{ #{@cX.grey}import documents dbi_unit #{@cX.off} } if @opt.cmd =~/vVM/        @tp={} @@ -285,7 +305,7 @@ module SiSU_DbImport                plaintext=@col[:body].dup                plaintext=strip_markup(plaintext)                @col[:plaintext]=clean_searchable_text(plaintext) -              book_idx=data.idx ? data.idx : '' +              book_idx=book_idx_hash_to_str(data.idx)                @col[:book_idx]=clean_searchable_text(book_idx)                if @en[0] then @en_a,@en_z=@en[0].first,@en[0].last                end @@ -321,7 +341,7 @@ module SiSU_DbImport                plaintext=@col[:body].dup                plaintext=strip_markup(plaintext)                @col[:plaintext]=clean_searchable_text(plaintext) -              book_idx=data.idx ? data.idx : '' +              book_idx=book_idx_hash_to_str(data.idx)                @col[:book_idx]=clean_searchable_text(book_idx)                @en_a,@en_z=@en[0].first,@en[0].last if @en[0]                @en_a_asterisk,@en_z_asterisk=@en_ast[0].first,@en_ast[0].last if @en_ast[0] @@ -353,7 +373,7 @@ module SiSU_DbImport                plaintext=@col[:body].dup                plaintext=strip_markup(plaintext)                @col[:plaintext]=clean_searchable_text(plaintext) -              book_idx=data.idx ? data.idx : '' +              book_idx=book_idx_hash_to_str(data.idx)                @col[:book_idx]=clean_searchable_text(book_idx)                @en_a,@en_z=@en[0].first,@en[0].last if @en[0]                @en_a_asterisk,@en_z_asterisk=@en_ast[0].first,@en_ast[0].last if @en_ast[0] @@ -383,7 +403,7 @@ module SiSU_DbImport                plaintext=@col[:body].dup                plaintext=strip_markup(plaintext)                @col[:plaintext]=clean_searchable_text(plaintext) -              book_idx=data.idx ? data.idx : '' +              book_idx=book_idx_hash_to_str(data.idx)                @col[:book_idx]=clean_searchable_text(book_idx)                @en_a,@en_z=@en[0].first,@en[0].last if @en[0]                @en_a_asterisk,@en_z_asterisk=@en_ast[0].first,@en_ast[0].last if @en_ast[0] @@ -441,7 +461,7 @@ module SiSU_DbImport                plaintext=@col[:body].dup                plaintext=strip_markup(plaintext)                @col[:plaintext]=clean_searchable_text(plaintext) -              book_idx=data.idx ? data.idx : '' +              book_idx=book_idx_hash_to_str(data.idx)                @col[:book_idx]=clean_searchable_text(book_idx)                t=SiSU_DbTuple::LoadDocuments.new(@conn,@col,@opt,@file_maint)                @tuple_array << t.tuple | 
