tantiny 0.3.3 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
metadata CHANGED
@@ -1,88 +1,99 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tantiny
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.3
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
+ - Sylvain Utard
7
8
  - Alexander Baygeldin
8
- autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-04-29 00:00:00.000000000 Z
11
+ date: 1980-01-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: ruby-next
14
+ name: thermite
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 0.14.0
19
+ version: '0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 0.14.0
26
+ version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
- name: rutie
28
+ name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 0.0.4
33
+ version: '13.0'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 0.0.4
40
+ version: '13.0'
41
41
  - !ruby/object:Gem::Dependency
42
- name: thermite
42
+ name: concurrent-ruby
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '0'
47
+ version: '1.0'
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '1.0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rexml
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
53
67
  - !ruby/object:Gem::Version
54
68
  version: '0'
55
69
  - !ruby/object:Gem::Dependency
56
- name: rake
70
+ name: fiddle
57
71
  requirement: !ruby/object:Gem::Requirement
58
72
  requirements:
59
- - - "~>"
73
+ - - ">="
60
74
  - !ruby/object:Gem::Version
61
- version: '13.0'
75
+ version: '0'
62
76
  type: :runtime
63
77
  prerelease: false
64
78
  version_requirements: !ruby/object:Gem::Requirement
65
79
  requirements:
66
- - - "~>"
80
+ - - ">="
67
81
  - !ruby/object:Gem::Version
68
- version: '13.0'
82
+ version: '0'
69
83
  - !ruby/object:Gem::Dependency
70
- name: concurrent-ruby
84
+ name: ostruct
71
85
  requirement: !ruby/object:Gem::Requirement
72
86
  requirements:
73
- - - "~>"
87
+ - - ">="
74
88
  - !ruby/object:Gem::Version
75
- version: '1.0'
89
+ version: '0'
76
90
  type: :runtime
77
91
  prerelease: false
78
92
  version_requirements: !ruby/object:Gem::Requirement
79
93
  requirements:
80
- - - "~>"
94
+ - - ">="
81
95
  - !ruby/object:Gem::Version
82
- version: '1.0'
83
- description:
84
- email:
85
- - a.baygeldin@gmail.com
96
+ version: '0'
86
97
  executables: []
87
98
  extensions:
88
99
  - ext/Rakefile
@@ -95,8 +106,8 @@ files:
95
106
  - bin/console
96
107
  - bin/setup
97
108
  - ext/Rakefile
98
- - lib/.rbnext/3.0/tantiny/schema.rb
99
109
  - lib/tantiny.rb
110
+ - lib/tantiny.so
100
111
  - lib/tantiny/errors.rb
101
112
  - lib/tantiny/helpers.rb
102
113
  - lib/tantiny/index.rb
@@ -104,29 +115,20 @@ files:
104
115
  - lib/tantiny/schema.rb
105
116
  - lib/tantiny/tokenizer.rb
106
117
  - lib/tantiny/version.rb
107
- - sig/tantiny.rbs
108
- - sig/tantiny/errors.rbs
109
- - sig/tantiny/helpers.rbs
110
- - sig/tantiny/index.rbs
111
- - sig/tantiny/query.rbs
112
- - sig/tantiny/schema.rbs
113
- - sig/tantiny/tokenizer.rbs
114
- - sig/tantiny/version.rbs
115
118
  - src/helpers.rs
116
119
  - src/index.rs
117
120
  - src/lib.rs
118
121
  - src/query.rs
119
122
  - src/tokenizer.rs
120
- homepage: https://github.com/baygeldin/tantiny
123
+ homepage: https://github.com/altertable-ai/tantiny
121
124
  licenses:
122
125
  - MIT
123
126
  metadata:
124
- bug_tracker_uri: https://github.com/baygeldin/tantiny/issues
125
- changelog_uri: https://github.com/baygeldin/tantiny/blob/master/CHANGELOG.md
126
- documentation_uri: https://github.com/baygeldin/tantiny/blob/master/README.md
127
- homepage_uri: https://github.com/baygeldin/tantiny
128
- source_code_uri: https://github.com/baygeldin/tantiny
129
- post_install_message:
127
+ bug_tracker_uri: https://github.com/altertable-ai/tantiny/issues
128
+ changelog_uri: https://github.com/altertable-ai/tantiny/blob/master/CHANGELOG.md
129
+ documentation_uri: https://github.com/altertable-ai/tantiny/blob/master/README.md
130
+ homepage_uri: https://github.com/altertable-ai/tantiny
131
+ source_code_uri: https://github.com/altertable-ai/tantiny
130
132
  rdoc_options: []
131
133
  require_paths:
132
134
  - lib
@@ -134,15 +136,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
134
136
  requirements:
135
137
  - - ">="
136
138
  - !ruby/object:Gem::Version
137
- version: '2.7'
139
+ version: '3.2'
138
140
  required_rubygems_version: !ruby/object:Gem::Requirement
139
141
  requirements:
140
142
  - - ">="
141
143
  - !ruby/object:Gem::Version
142
144
  version: '0'
143
145
  requirements: []
144
- rubygems_version: 3.3.7
145
- signing_key:
146
+ rubygems_version: 3.6.9
146
147
  specification_version: 4
147
148
  summary: Tiny full-text search for Ruby powered by Tantivy.
148
149
  test_files: []
@@ -1,53 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Tantiny
4
- class Schema
5
- attr_reader :default_tokenizer,
6
- :id_field,
7
- :text_fields,
8
- :string_fields,
9
- :integer_fields,
10
- :double_fields,
11
- :date_fields,
12
- :facet_fields,
13
- :field_tokenizers
14
-
15
- def initialize(tokenizer, &block)
16
- @default_tokenizer = tokenizer
17
- @id_field = :id
18
- @text_fields = []
19
- @string_fields = []
20
- @integer_fields = []
21
- @double_fields = []
22
- @date_fields = []
23
- @facet_fields = []
24
- @field_tokenizers = {}
25
-
26
- instance_exec(&block)
27
- end
28
-
29
- def tokenizer_for(field)
30
- field_tokenizers[field] || default_tokenizer
31
- end
32
-
33
- private
34
-
35
- def id(key) ; @id_field = key; end
36
-
37
- def string(key) ; @string_fields << key; end
38
-
39
- def integer(key) ; @integer_fields << key; end
40
-
41
- def double(key) ; @double_fields << key; end
42
-
43
- def date(key) ; @date_fields << key; end
44
-
45
- def facet(key) ; @facet_fields << key; end
46
-
47
- def text(key, tokenizer: nil)
48
- @field_tokenizers[key] = tokenizer if tokenizer
49
-
50
- @text_fields << key
51
- end
52
- end
53
- end
@@ -1,20 +0,0 @@
1
- module Tantiny
2
- class TantivyError < StandardError
3
- end
4
-
5
- class UnknownField < StandardError
6
- def initialize: () -> void
7
- end
8
-
9
- class UnknownTokenizer < StandardError
10
- def initialize: (Symbol tokenizer_type) -> void
11
- end
12
-
13
- class UnsupportedRange < StandardError
14
- def initialize: (Class range_type) -> void
15
- end
16
-
17
- class UnsupportedField < StandardError
18
- def initialize: (Symbol field) -> void
19
- end
20
- end
@@ -1,8 +0,0 @@
1
-
2
- module Tantiny
3
- module Helpers
4
- def self.timestamp: ((Date | DateTime) date) -> String
5
-
6
- def self.with_lock: (String lockfile) { (*untyped) -> void } -> void
7
- end
8
- end
@@ -1,103 +0,0 @@
1
- module Tantiny
2
- class Index
3
- LOCKFILE: String
4
- DEFAULT_WRITER_MEMORY: Integer
5
- DEFAULT_LIMIT: Integer
6
-
7
- def self.new: (
8
- String path,
9
- **untyped options
10
- ) { (*untyped) -> void } -> Index
11
-
12
- def self.__new: (
13
- String path,
14
- Tokenizer default_tokenizer,
15
- Hash[String, Tokenizer] field_tokenizers,
16
- Array[String] text_fields,
17
- Array[String] string_fields,
18
- Array[String] integer_fields,
19
- Array[String] double_fields,
20
- Array[String] date_fields,
21
- Array[String] facet_fields
22
- ) -> Index
23
-
24
- def initialize: (
25
- String path,
26
- Schema schema,
27
- **untyped options
28
- ) -> void
29
-
30
- attr_reader schema: Schema
31
-
32
- def transaction: () { (*untyped) -> void } -> void
33
-
34
- def reload: () -> void
35
- def <<: (untyped document) -> void
36
- def delete: (String id) -> void
37
-
38
- def search: (
39
- (Query | String) query,
40
- ?limit: Integer,
41
- **untyped smart_query_options
42
- ) -> Array[String]
43
-
44
- def all_query: () -> Query
45
- def empty_query: () -> Query
46
- def term_query: (fields fields, String term, **untyped options) -> Query
47
- def fuzzy_term_query: (fields fields, String term, ?Integer distance, **untyped options) -> Query
48
- def phrase_query: (fields fields, String phrase, **untyped options) -> Query
49
- def regex_query: (fields fields, String regex, **untyped options) -> Query
50
- def prefix_query: (fields fields, String prefix, **untyped options) -> Query
51
- def facet_query: (Symbol field, String path, **untyped options) -> Query
52
- def range_query: (fields fields, Range[numeric | date] range, **untyped options) -> Query
53
- def smart_query: (fields fields, String query_string, **untyped options) -> Query
54
-
55
- def __commit: () -> void
56
- def __reload: () -> void
57
-
58
- def __add_document: (
59
- String id,
60
- Hash[String, String] text_fields,
61
- Hash[String, String] string_fields,
62
- Hash[String, Integer] integer_fields,
63
- Hash[String, Float] double_fields,
64
- Hash[String, String] date_fields,
65
- Hash[String, String] facet_fields
66
- ) -> void
67
-
68
- def __delete_document: (String id) -> void
69
-
70
- def __search: (Query query, Integer limit) -> Array[String]
71
-
72
- def __acquire_index_writer: (Integer overall_memory) -> void
73
- def __release_index_writer: () -> void
74
-
75
- private
76
-
77
- def commit: () -> void
78
-
79
- def slice_document: (
80
- untyped document,
81
- Array[Symbol] fields
82
- ) { (untyped v) -> untyped } -> Hash[String, untyped]
83
-
84
- def default_search: (
85
- String query_string,
86
- Integer limit,
87
- ?fuzzy_distance: Integer
88
- ) -> Array[String]
89
-
90
- def resolve: (untyped document, Symbol field) -> untyped
91
-
92
- def synchronize: () { (*untyped) -> void } -> void
93
- def lockfile_path: () -> String
94
-
95
- def exclusive_writer?: () -> bool
96
- def acquire_index_writer: () -> void
97
- def release_index_writer: () -> void
98
-
99
- def open_transaction!: () -> void
100
- def close_transaction!: () -> void
101
- def inside_transaction?: () -> bool
102
- end
103
- end
@@ -1,135 +0,0 @@
1
- module Tantiny
2
- class Query
3
- TYPES: Array[Symbol]
4
- DEFAULT_BOOST: Float
5
- DEFAULT_FUZZY_DISTANCE: Integer
6
-
7
- def self.disjunction: (*Query queries) -> Query
8
- def self.conjunction: (*Query queries) -> Query
9
-
10
- def self.all_query: (?Index _index) -> Query
11
- def self.empty_query: (?Index _index) -> Query
12
-
13
- def self.term_query: (
14
- Index index,
15
- fields fields,
16
- String term,
17
- **untyped options
18
- ) -> Query
19
-
20
- def self.fuzzy_term_query: (
21
- Index index,
22
- fields fields,
23
- String term,
24
- ?Integer distance,
25
- **untyped options
26
- ) -> Query
27
-
28
- def self.phrase_query: (
29
- Index index,
30
- fields fields,
31
- String phrase,
32
- **untyped options
33
- ) -> Query
34
-
35
- def self.regex_query: (
36
- Index index,
37
- fields fields,
38
- String regex,
39
- **untyped options
40
- ) -> Query
41
-
42
- def self.prefix_query: (
43
- Index index,
44
- fields fields,
45
- String prefix,
46
- **untyped options
47
- ) -> Query
48
-
49
- def self.facet_query: (
50
- Index index,
51
- Symbol field,
52
- String path,
53
- **untyped options
54
- ) -> Query
55
-
56
- def self.range_query: (
57
- Index index,
58
- fields fields,
59
- Range[numeric | date] range,
60
- **untyped options
61
- ) -> Query
62
-
63
- def self.smart_query: (
64
- Index index,
65
- fields fields,
66
- String query_string,
67
- **untyped options
68
- ) -> Query
69
-
70
- def self.__new_all_query: () -> Query
71
- def self.__new_empty_query: () -> Query
72
-
73
- def self.__new_term_query: (
74
- Index index,
75
- String field,
76
- String term
77
- ) -> Query
78
-
79
- def self.__new_fuzzy_term_query: (
80
- Index index,
81
- String field,
82
- String term,
83
- Integer distance
84
- ) -> Query
85
-
86
- def self.__new_regex_query: (
87
- Index index,
88
- String field,
89
- String regex
90
- ) -> Query
91
-
92
- def self.__new_range_query: (
93
- Index index,
94
- String field,
95
- untyped from,
96
- untyped to
97
- ) -> Query
98
-
99
- def self.__new_phrase_query: (
100
- Index index,
101
- String field,
102
- Array[String] terms
103
- ) -> Query
104
-
105
- def self.__new_facet_query: (
106
- Index index,
107
- String field,
108
- String path
109
- ) -> Query
110
-
111
- def self.__disjunction: (Array[Query] queries) -> Query
112
- def self.__conjunction: (Array[Query] queries) -> Query
113
-
114
- def |: (Query query) -> Query
115
- def &: (Query query) -> Query
116
- def !: () -> Query
117
- def boost: (numeric boost_factor) -> Query
118
-
119
- def __negation: () -> Query
120
- def __boost: (Float boost_factor) -> Query
121
-
122
- private
123
-
124
- def self.construct_query: (
125
- Index index,
126
- Symbol query_type,
127
- Array[Symbol] allowed_fields,
128
- fields fields,
129
- Array[untyped] params,
130
- **untyped options
131
- ) -> Query
132
-
133
- def self.text_and_strings: (Index index) -> Array[Symbol]
134
- end
135
- end
@@ -1,26 +0,0 @@
1
- module Tantiny
2
- class Schema
3
- attr_reader default_tokenizer: Tokenizer
4
- attr_reader id_field: Symbol
5
- attr_reader text_fields: Array[Symbol]
6
- attr_reader string_fields: Array[Symbol]
7
- attr_reader integer_fields: Array[Symbol]
8
- attr_reader double_fields: Array[Symbol]
9
- attr_reader date_fields: Array[Symbol]
10
- attr_reader facet_fields: Array[Symbol]
11
- attr_reader field_tokenizers: Hash[Symbol, Tokenizer]
12
-
13
- def initialize: (Tokenizer tokenizer) { (*untyped) -> void } -> void
14
- def tokenizer_for: (Symbol field) -> Tokenizer
15
-
16
- private
17
-
18
- def id: (Symbol key) -> void
19
- def text: (Symbol key, ?tokenizer: Tokenizer) -> void
20
- def string: (Symbol key) -> void
21
- def integer: (Symbol key) -> void
22
- def double: (Symbol key) -> void
23
- def date: (Symbol key) -> void
24
- def facet: (Symbol key) -> void
25
- end
26
- end
@@ -1,25 +0,0 @@
1
- module Tantiny
2
- class Tokenizer
3
- def self.default: () -> Tokenizer
4
-
5
- def self.new: (Symbol kind, **untyped options) -> Tokenizer
6
-
7
- def self.__new_ngram_tokenizer: (
8
- Integer min,
9
- Integer max,
10
- bool prefix_only
11
- ) -> Tokenizer
12
-
13
- def self.__new_stemmer_tokenizer: (
14
- String locale_code
15
- ) -> Tokenizer
16
-
17
- def self.__new_simple_tokenizer: () -> Tokenizer
18
-
19
- public
20
-
21
- def terms: (String string) -> Array[String]
22
-
23
- def __extract_terms: (String string) -> Array[String]
24
- end
25
- end
@@ -1,3 +0,0 @@
1
- module Tantiny
2
- VERSION: String
3
- end
data/sig/tantiny.rbs DELETED
@@ -1,5 +0,0 @@
1
- module Tantiny
2
- type date = Date | DateTime
3
- type numeric = Integer | Float
4
- type fields = Array[Symbol] | Symbol
5
- end