Commit Graph

140 Commits

Author SHA1 Message Date
8c410fac4a clear cache after closing 2023-02-13 19:35:56 +01:00
0d4078b59c print readable tags 2023-02-13 19:34:52 +01:00
bd8ab49b71 make it possible to reindex the persistent maps via system property 2023-02-11 18:34:21 +01:00
728fe1df78 use logger instead of sysout 2023-02-11 16:13:17 +01:00
e79536cf00 reduce cache size and lifetime to reduce memory issues 2023-02-08 16:47:41 +01:00
04c09f6ba4 reduce verbosity of performance logging 2022-11-20 16:37:32 +01:00
2ea11e6adb rename get to getString 2021-10-16 19:57:34 +02:00
7d3ae61656 rename put to putString to make it easier for ides to find references 2021-10-16 18:45:55 +02:00
3d72231415 move filename for keys.csv to UniqueStringIntegerPairs 2021-10-16 15:33:04 +02:00
1f40411587 inject string compressor during query parsing 2021-10-12 18:36:15 +02:00
21ab103fd2 do not use static string compressor in ExpressionToDocIdVisitor 2021-09-18 19:44:03 +02:00
bcba117742 do not use static string compressor in upload handlers 2021-09-18 19:41:40 +02:00
3e1002a99d remove static string compressor from QueryCompletionIndex 2021-09-18 19:24:30 +02:00
311af4b9e9 don't use static StringCompressor in TagEncoderDecoder 2021-09-18 18:56:45 +02:00
fefcbf7532 make StringCompressor a field of DataStore 2021-09-18 18:53:50 +02:00
6a3d711838 move StringCompressor initialization to StringCompressor 2021-09-18 15:39:54 +02:00
6cd6f578e7 move Tags.asString() to StringCompressor 2021-09-18 10:18:42 +02:00
5d2fdb4820 create Tags in StringCompressor instead of use StringCompressor in Tags 2021-08-25 20:00:31 +02:00
ceb8d5a7c8 validate that tokens are known 2021-08-14 12:40:21 +02:00
67c66ef89d add second parser that uses a standard CSV reader 2021-08-12 17:54:27 +02:00
85ed5f1ccb file drop support
- Add a folder where you can drop Zip files which will then be
  extracted on the fly and ingsted.
- CsvReaderSettings now contain TagMatcher that are applied to the
  first line and can be used to extract additional tags.
- Update to jdk 16 so that we can have records.
2021-08-01 09:31:40 +02:00
bc520f97ed move DateIndexExtension to DataStore 2021-05-12 19:00:25 +02:00
7adfc7029f Revert "introduce indexes"
This reverts commit 36ccc57db6.
2021-05-12 18:18:57 +02:00
75857b553e do tag to string conversion in StringCompressor instead of Tag 2021-05-09 10:44:24 +02:00
6dc335600e do string compression in StringCompressor instead of Tag 2021-05-09 10:37:35 +02:00
36ccc57db6 introduce indexes 2021-05-09 10:33:28 +02:00
6dc0e3c250 performance improvement for queries with wildcards
Computing the union of many LongLists was inefficient, because we were
using a trivial algorithm. I replaced the algorithm with a multi way
merge. The old algorithm had a runtime of O(n!*m) where n is the number
of lists and m the length or the longest list. The new algorithm has a
runtime of O(log(n) * n*m).
2020-11-15 13:02:15 +01:00
46070a31b9 add block size to the header of a PersistentMap and optimize storage
usage for monotonically incrementing keys.
2020-10-17 10:13:46 +02:00
10155f9cdb use special enum for DateBucket units
Preparation step for having custom intervals.
2020-09-27 17:06:27 +02:00
6bb6cdaea7 count disk reads 2020-09-20 19:51:47 +02:00
50f555d23c add interval splitting for bar charts 2020-04-05 08:14:09 +02:00
75391f21ff extract code from DateIndexExtension to LongToDateBucket
Making it possible to reuse the code to sort timestamps
into date based buckets.
2020-04-03 19:46:08 +02:00
9a311313ec use US locale to format strings
This is especially important for all strings that are
passed to gnuplot. Because gnuplot uses the US locale
during parsing.
2020-03-12 19:40:20 +01:00
ffc3832bfa fix: events are added to wrong partition
The writerCache in DataStore did not use the partitionId
in its cache key. Therefore the cache could return the
wrong writer and events were written to the wrong
partition.
Fixed by changing the cache key.
2019-12-23 18:42:54 +01:00
5d8df6888d move Entry and Entries to data-store 2019-12-13 18:15:10 +01:00
07ad62ddd9 use Junit5 instead of TestNG
We want to be able to use @SpringBootTest tests that fully initialize
the Spring application. This is much easier done with Junit than TestNG.
Gradle does not support (at least not easily) to run Junit and TestNG
tests. Therefore we switch to Junit with all tests.
The original reason for using TestNG was that Junit didn't support
data providers. But that finally changed in Junit5 with
ParameterizedTest.
2019-12-13 14:33:20 +01:00
e931856041 merge projects file-utils, byte-utils and pdb-utils
It turned out that most projects needed at least
two of the utils projects. file-utils and byte-utils
had only one class. Merging them made sense.
2019-12-08 18:47:54 +01:00
06b379494f apply new code formatter and save action 2019-11-24 10:20:43 +01:00
4367323fcd replace deprecated dependency configurations
Using api and implementation instead of the
deprecated compile configuration.

Update to Gradle 6.0.
2019-11-10 11:08:50 +01:00
7636781315 fix StringIndexOutOfBounds when caret is in position 0 2019-10-26 10:30:02 +02:00
57ad6a1cee update SpringBoot to 2.1.9
Also remove direct dependencies to log4j-api and log4j-core where
possible. log4j-slf4j-impl is enough in many cases.
2019-10-04 20:15:09 +02:00
0e9e2cd53a remove dependency to Guava 2019-09-01 15:44:36 +02:00
8579974051 performance improvement
Queries like "firstname=John and lastname=???" were slightly
inefficient.
They fetched all firstnames, filtered to those that matched the prefix
(e.g. John or Jonathan is this example) and then iterated over all those
values and return the lastnames.
Fixed by having two implementations. One for the case that only a few
of the values in fieldA match and one for the case that many match.
2019-08-31 19:30:54 +02:00
d8a114dbaf handle globlike patterns in in-expressions 2019-08-31 17:34:17 +02:00
f8e859fb6d cleanup and javadoc 2019-08-31 16:52:13 +02:00
0eee012798 allow 'not' for negation in addition to '!' 2019-08-31 08:30:13 +02:00
4161cd7f98 only field prefixes returned instead of full values
When using autocomplete to return field values I
missed, that autocomplete had the feature that cut
values at dots. So instead of returning full field
values only the prefix up to the first dot was
returned.
Fixed by making the cut-at-dot feature optional.
2019-08-27 20:37:07 +02:00
2f35978184 fetch available values for gallery via autocomplete method
We had a method that returned the values of a field
with respect to a query. That method was inefficient,
because it executed the query, fetched all Docs
and collected the values.
The autocomplete method we introduced a while back
can answer the same question but much more efficiently.
2019-08-25 18:52:05 +02:00
6eaf4e10fc add maxSize parameter to HotEntryCache 2019-08-24 19:24:20 +02:00
feda901f6d remove event types
We only have removal events. The additional complexity
of having a generic interface for many different event
types does not pay off.
2019-08-18 20:30:25 +02:00