0
0
Commit Graph

1459 Commits

Author SHA1 Message Date
Marty Schoch
b04745abcc remove smolder indexing scheme
this was an experiment that we're no longer working on
we learned from it, but now carrying it forward has
a maintenance burden we don't wish to pay
2017-03-01 14:38:17 -05:00
Sreekanth Sivasankaran
67a5814fbe MB-22410:deleting/editing index definition with large dirty write queue can be very slow
Adding a configurable forced store close
2017-03-01 18:58:32 +05:30
Sreekanth Sivasankaran
324e4237cf adding configurable Abort Close 2017-03-01 16:23:56 +05:30
Marty Schoch
a7ebb84805 Merge pull request #544 from mschoch/work_on_query_string_parser
add ability to perform exact numeric matches
2017-02-24 16:36:31 -05:00
Marty Schoch
bbab4d39ee improve error checking when parsing numbers 2017-02-24 16:30:09 -05:00
Marty Schoch
3a3cd103f5 Merge pull request #545 from mschoch/better_validation
add validtion which checks the type of char/token filters
2017-02-24 16:05:00 -05:00
Marty Schoch
b9db744def add validtion which checks the type of char/token filters
when specified in the custom type of analyzer
2017-02-24 15:57:10 -05:00
Marty Schoch
23bf986632 allow for exact numeric matches with field:val syntax
previously, the only way to get numeric matching was with the
range operators :> :>= :< :<=

now, when we encounter field:val if the val can be parsed as a
number, then we do a disjunction search, which includes
searching for val as a text term and as an exact numeric value
2017-02-24 13:41:59 -05:00
Marty Schoch
f6563ed9f5 switch from go tool yacc to goyacc as of Go 1.8
does not imply need for Go 1.8 to use, just for developers
to regenerate the query parser
2017-02-24 09:23:00 -05:00
Marty Schoch
518abe742a Merge pull request #543 from mschoch/improve_query_string_compat
improve query string compatibility
2017-02-23 13:22:41 -05:00
Marty Schoch
f391b991c2 improve query string compatibility
1) disjunction and conjunction queries now support a
"query string mode".  By default they do not operate
in this mode.  When in this mode, any disjunct/conjunct
which evaluates to MatchNone searcher, will be removed
from the disjunction/conjunction.  If the query ends
up with NO conjuncts/disjuncts, it will itself
return the MatchNone seacher.

2) boolean query also supports a query string mode.  when in
this mode, the Must, Should and MustNot searchers are all put
into query string mode.

3) rewriting of negation only queries (like -foo) now take into
account the rewriting rules above, and those are handled first.
this means that we rewrite correctly in case of +stoword -foo

4) the empty query string is now valid, and returns 0 hits.
previously this was considered a validation error.
2017-02-23 13:04:18 -05:00
Marty Schoch
dbdb8b984d Merge pull request #541 from hisundar/moss_child_colls
Add Snapshot interface methods for moss child collections feature
2017-02-21 19:11:18 -05:00
Sundar Sridharan
74c7de0dcf re-order childSnapshot declaration 2017-02-21 15:54:04 -08:00
Sundar Sridharan
04d428656e Add Snapshot interface methods for moss child collections feature 2017-02-20 15:03:45 -08:00
Marty Schoch
501913b2eb Merge pull request #537 from mschoch/update-bleve-cmd
Update bleve cmd
2017-02-16 11:54:02 -05:00
Marty Schoch
9ca14d29f1 use cobra command Annotations to identify mutating commands
some downstream applications need to know which sub-commands
may alter the index.  this new function allows them to be
identified, while not prescribing any particular behavior.
2017-02-15 15:37:26 -05:00
Marty Schoch
c937e971af bump manifest to latest cobra and pflag 2017-02-15 15:36:47 -05:00
Marty Schoch
5415afec73 Merge pull request #534 from tleyden/patch-1
Apache2 license badge
2017-02-13 19:38:54 -05:00
Traun Leyden
ea397a24ac Apache2 license badge
Moar badges
2017-02-13 16:09:54 -08:00
Marty Schoch
8f6c032d51 Merge pull request #532 from mschoch/phrase2
move phrase search logic into phrase searcher
2017-02-10 20:26:49 -05:00
Marty Schoch
2ba915b929 add additional parens to clarify logic 2017-02-10 20:22:32 -05:00
Marty Schoch
56a79528c3 update match_phrase query to handle multiple tokens in same pos
we now use a multiphrase query in all cases
internally its optimized to be the same as regular phrase query
anyway, and we simplly map all the tokens in the stream into
a multi-phrase query with the appropriate structure
2017-02-10 17:12:13 -05:00
Marty Schoch
a5d1d7974c add query support for multi-phrase
when parsing json, when we encounter the key "terms", we first
try to parse as traditional phrase query, then if that fails,
we also try parsing it as multi-phrase
2017-02-10 16:46:38 -05:00
Marty Schoch
c6085d8cdc address initial code review comments 2017-02-10 15:22:14 -05:00
Marty Schoch
09d00829db phrase searcher now supports multi-phrase
backwards compatability maintained through previous constructor
very basic test added (not sufficient)
2017-02-10 15:17:50 -05:00
Marty Schoch
9c8e1e82de add initial low-level support for multi-phrase
this adds basic multi-phrase support,
a shim to keep the top-level working
and unit tests for new multi-phrase cases
2017-02-10 13:16:05 -05:00
Marty Schoch
4e38c49287 move phrase search logic into phrase searcher
the logic of how a phrase search works should be an internal
detail of the phrase searcher.  further, these changes will
allow proper scoring of phrase matches, which require access
to the underlying searcher objects, which were hidden in the
previous approach.
2017-02-10 12:05:01 -05:00
Marty Schoch
97a428f5b0 Merge pull request #531 from mschoch/losefloat
remove use of float64 to represent int things
2017-02-09 20:25:20 -05:00
Marty Schoch
8096d9fb90 remove use of float64 to represent int things
this originated from a misunderstanding of mine going back
several years.  the values need not be float64 just because
we plan to serialize them as json.

there are still larger questions about what the right type should
be, and where should any conversions go.  but, this commit
simply attempts to address the most egregious problems
2017-02-09 20:15:59 -05:00
Marty Schoch
0c87b7bff1 Merge pull request #527 from mschoch/recursive_phrase
refactor phrase search to be recursive
2017-02-09 18:10:33 -05:00
Marty Schoch
87df597b21 add 'used by' badge 2017-02-09 16:40:37 -05:00
Marty Schoch
232fc80dad add support for phrase slop to internals of phrase searcher
phrase slop is not yet supported on the frontend
added lots of tests around slop
2017-02-09 15:59:51 -05:00
Marty Schoch
4da7756f67 Merge pull request #530 from steveyen/master
optimizations around search / DocumentMatchPool
2017-02-09 15:44:04 -05:00
Steve Yen
0b70a1bcb8 use inlined prealloc'ed termFreqRow in upsidedown termFieldReader 2017-02-08 18:23:13 -08:00
Steve Yen
31fecc3663 avoid row alloc's in upsidedown termFieldReader constructor 2017-02-08 18:14:30 -08:00
Steve Yen
470516d973 DocumentMatchPool hits allocator outside of loop 2017-02-06 14:26:59 -08:00
Marty Schoch
50c43bfef6 Merge pull request #528 from bfontaine/syntax
README: Use go syntax highlighting
2017-02-04 09:52:58 -05:00
Baptiste Fontaine
7e2ce1cf9e README: Use go syntax highlighting 2017-02-04 12:20:56 +01:00
Marty Schoch
f82638c117 refactor phrase search to be recursive
a more correct solution that will enable us to extend in two
important ways:

1) support slop
2) support multi-phrase
2017-02-03 16:05:21 -05:00
Marty Schoch
101ecfe972 Merge pull request #526 from sreekanth-cb/improved_facet_range_validations
MB-20793: Validation for min/max/start/end params for numeric/date ra…
2017-02-03 14:34:19 -05:00
Sreekanth Sivasankaran
029d4c73d9 clean up of unit test. 2017-02-02 23:33:26 +05:30
Sreekanth Sivasankaran
c1d28bb2fc Moving the tests to the table driven test pattern. 2017-02-02 23:31:00 +05:30
Sreekanth Sivasankaran
2a09857657 MB-20793 : Validation for min/max/start/end params for numeric/date range facets
Updated the comments in UTs.
2017-02-02 13:10:09 +05:30
Sreekanth Sivasankaran
c6f96f081d MB-20793 : Validation for min/max/start/end params for numeric/date range facets
Added few more cases in the unit tests.
2017-02-02 13:05:49 +05:30
Sreekanth Sivasankaran
78686c3fa3 MB-20793 : Validation for min/max/start/end params for numeric/date range facets
Corrected the validation and updated the unit tests.
2017-02-02 12:15:48 +05:30
Sreekanth Sivasankaran
f514ac7867 MB-20793: Validation for min/max/start/end params for numeric/date range facets
Improved the validations for date and numeric range queries for facets
2017-02-01 14:48:47 +05:30
Marty Schoch
12a7257b5f remove duplicate code suggested by review from @steveyen 2017-01-31 15:12:06 -05:00
Marty Schoch
a3ee71ddbb Merge pull request #525 from mschoch/refactor-phrase
refactor phrase search into seprate methods
2017-01-31 15:06:42 -05:00
Marty Schoch
7fd8aeb50a refactor phrase search into seprate methods
at the core, the Next() method moves another searcher forward
and checks each hit to see if it also satisfies the phrase
constraints.  the current implementation has 4 nested for loops.
these nested loops make it harder read (indentation) and harder
to reason about (complexity).

this refactor does not remove any loops, it simply moves some
of the inner loops into separate methods so that one can
more easily reason about the parts separately.
2017-01-31 13:32:46 -05:00
Marty Schoch
d48d2b6c68 Merge pull request #524 from mschoch/fix523
fix edge ngram output when side=Back and input token len=max
2017-01-31 12:03:26 -05:00