0
0
bleve/search/searchers
Steve Yen e344582021 optimize DisjunctionSearcher.Next()
This change simplifies and removes the DisjunctionSearcher.currentID
tracking, and instead utilizes the the matching/matchingIdxs slices
for tracking the required information.

As the core of the optimization, the previous code used two loop
passses to compare the internal ID's to the currentID field.  This
commit instead optimizes to have a single pass to both compare the
internalID's and to also maintain the matching/matchingIdxs arrays.

On my dev box, using a bleve-query benchmark on a wiki dataset, with
query-string of "text:afternoon text:coffee", the previous code had
throughput of 958qps, and this commit has 1174qps.
2016-09-20 19:22:37 -07:00
..
base_test.go major kvstore interface and impl overhaul 2015-09-23 11:25:47 -07:00
ordered_searchers_list.go add newline between license and package 2014-09-02 10:54:50 -04:00
search_boolean_test.go switch sort impl to use interface 2016-08-24 19:02:22 -04:00
search_boolean.go simplify BooleanSearcher mustSearcher else logic 2016-09-20 18:11:04 -07:00
search_conjunction_test.go switch sort impl to use interface 2016-08-24 19:02:22 -04:00
search_conjunction.go refactor search package to reuse DocumentMatch and ID []byte's 2016-08-08 22:21:47 -04:00
search_disjunction_test.go switch sort impl to use interface 2016-08-24 19:02:22 -04:00
search_disjunction.go optimize DisjunctionSearcher.Next() 2016-09-20 19:22:37 -07:00
search_docid_test.go switch sort impl to use interface 2016-08-24 19:02:22 -04:00
search_docid.go refactor search package to reuse DocumentMatch and ID []byte's 2016-08-08 22:21:47 -04:00
search_fuzzy_test.go switch sort impl to use interface 2016-08-24 19:02:22 -04:00
search_fuzzy.go refactor search package to reuse DocumentMatch and ID []byte's 2016-08-08 22:21:47 -04:00
search_match_all_test.go switch sort impl to use interface 2016-08-24 19:02:22 -04:00
search_match_all.go BREAKING CHANGE - removed DumpXXX() methods from bleve.Index 2016-09-13 12:40:01 -04:00
search_match_none_test.go switch sort impl to use interface 2016-08-24 19:02:22 -04:00
search_match_none.go refactor search package to reuse DocumentMatch and ID []byte's 2016-08-08 22:21:47 -04:00
search_numeric_range_test.go major refactor of search package 2014-09-01 11:15:38 -04:00
search_numeric_range.go refactor search package to reuse DocumentMatch and ID []byte's 2016-08-08 22:21:47 -04:00
search_phrase_test.go switch sort impl to use interface 2016-08-24 19:02:22 -04:00
search_phrase.go refactor search package to reuse DocumentMatch and ID []byte's 2016-08-08 22:21:47 -04:00
search_regexp_test.go switch sort impl to use interface 2016-08-24 19:02:22 -04:00
search_regexp.go refactor search package to reuse DocumentMatch and ID []byte's 2016-08-08 22:21:47 -04:00
search_term_prefix.go refactor search package to reuse DocumentMatch and ID []byte's 2016-08-08 22:21:47 -04:00
search_term_test.go BREAKING CHANGE - removed DumpXXX() methods from bleve.Index 2016-09-13 12:40:01 -04:00
search_term.go BREAKING CHANGE - removed DumpXXX() methods from bleve.Index 2016-09-13 12:40:01 -04:00