aboutsummaryrefslogtreecommitdiffstats
path: root/searchlib/src/tests/postinglistbm
diff options
context:
space:
mode:
authorGeir Storli <geirst@verizonmedia.com>2019-05-08 07:40:36 +0000
committerGeir Storli <geirst@verizonmedia.com>2019-05-08 07:40:36 +0000
commitfd554ae1f32a636009a2bebf5039410ea0acc984 (patch)
tree5aad24e0b9d913101c5c61660da524003cd95c12 /searchlib/src/tests/postinglistbm
parent0c379910129e489b8bbd3ecde16690120068a669 (diff)
Make it possible to specify doc freq for medium and rare words.
Diffstat (limited to 'searchlib/src/tests/postinglistbm')
-rw-r--r--searchlib/src/tests/postinglistbm/andstress.cpp12
-rw-r--r--searchlib/src/tests/postinglistbm/andstress.h2
-rw-r--r--searchlib/src/tests/postinglistbm/postinglistbm.cpp18
3 files changed, 17 insertions, 15 deletions
diff --git a/searchlib/src/tests/postinglistbm/andstress.cpp b/searchlib/src/tests/postinglistbm/andstress.cpp
index adca7892464..fcc234ef4e0 100644
--- a/searchlib/src/tests/postinglistbm/andstress.cpp
+++ b/searchlib/src/tests/postinglistbm/andstress.cpp
@@ -39,7 +39,6 @@ private:
search::Rand48 &_rnd;
unsigned int _numDocs;
- unsigned int _commonDocFreq;
std::vector<std::string> _postingTypes;
unsigned int _loops;
unsigned int _skipCommonPairsRate;
@@ -68,8 +67,6 @@ private:
public:
AndStressMaster(search::Rand48 &rnd,
FakeWordSet &wordSet,
- unsigned int numDocs,
- unsigned int commonDocFreq,
const std::vector<std::string> &postingType,
unsigned int loops,
unsigned int skipCommonPairsRate,
@@ -117,8 +114,6 @@ makePosting(FakeWord &fw)
AndStressMaster::AndStressMaster(search::Rand48 &rnd,
FakeWordSet &wordSet,
- unsigned int numDocs,
- unsigned int commonDocFreq,
const std::vector<std::string> &postingTypes,
unsigned int loops,
unsigned int skipCommonPairsRate,
@@ -126,8 +121,7 @@ AndStressMaster::AndStressMaster(search::Rand48 &rnd,
uint32_t stride,
bool unpack)
: _rnd(rnd),
- _numDocs(numDocs),
- _commonDocFreq(commonDocFreq),
+ _numDocs(wordSet.numDocs()),
_postingTypes(postingTypes),
_loops(loops),
_skipCommonPairsRate(skipCommonPairsRate),
@@ -399,8 +393,6 @@ AndStress::~AndStress()
void
AndStress::run(search::Rand48 &rnd,
FakeWordSet &wordSet,
- unsigned int numDocs,
- unsigned int commonDocFreq,
const std::vector<std::string> &postingTypes,
unsigned int loops,
unsigned int skipCommonPairsRate,
@@ -410,7 +402,7 @@ AndStress::run(search::Rand48 &rnd,
{
LOG(debug, "Andstress::run");
AndStressMaster master(rnd, wordSet,
- numDocs, commonDocFreq, postingTypes, loops,
+ postingTypes, loops,
skipCommonPairsRate,
numTasks,
stride,
diff --git a/searchlib/src/tests/postinglistbm/andstress.h b/searchlib/src/tests/postinglistbm/andstress.h
index fdc99fb42ba..7a7fe2f66f2 100644
--- a/searchlib/src/tests/postinglistbm/andstress.h
+++ b/searchlib/src/tests/postinglistbm/andstress.h
@@ -21,8 +21,6 @@ public:
void run(search::Rand48 &rnd,
search::fakedata::FakeWordSet &wordSet,
- unsigned int numDocs,
- unsigned int commonDocFreq,
const std::vector<std::string> &postingTypes,
unsigned int loops,
unsigned int skipCommonPairsRate,
diff --git a/searchlib/src/tests/postinglistbm/postinglistbm.cpp b/searchlib/src/tests/postinglistbm/postinglistbm.cpp
index 0a6f99ede11..890ca8fd6eb 100644
--- a/searchlib/src/tests/postinglistbm/postinglistbm.cpp
+++ b/searchlib/src/tests/postinglistbm/postinglistbm.cpp
@@ -30,6 +30,8 @@ class PostingListBM : public FastOS_Application {
private:
uint32_t _numDocs;
uint32_t _commonDocFreq;
+ uint32_t _mediumDocFreq;
+ uint32_t _rareDocFreq;
uint32_t _numWordsPerClass;
std::vector<std::string> _postingTypes;
uint32_t _loops;
@@ -54,6 +56,8 @@ usage()
"[-C <skipCommonPairsRate>] "
"[-T {string, array, weightedSet}] "
"[-c <commonDoqFreq>] "
+ "[-m <mediumDoqFreq>] "
+ "[-r <rareDoqFreq>] "
"[-d <numDocs>] "
"[-l <numLoops>] "
"[-s <stride>] "
@@ -84,6 +88,8 @@ badPostingType(const std::string &postingType)
PostingListBM::PostingListBM()
: _numDocs(10000000),
_commonDocFreq(50000),
+ _mediumDocFreq(1000),
+ _rareDocFreq(10),
_numWordsPerClass(100),
_postingTypes(),
_loops(1),
@@ -109,7 +115,7 @@ PostingListBM::Main()
bool hasElementWeights = false;
bool quick = false;
- while ((c = GetOpt("C:c:d:l:s:t:uw:T:q", optArg, argi)) != -1) {
+ while ((c = GetOpt("C:c:m:r:d:l:s:t:uw:T:q", optArg, argi)) != -1) {
switch(c) {
case 'C':
_skipCommonPairsRate = atoi(optArg);
@@ -132,6 +138,12 @@ PostingListBM::Main()
case 'c':
_commonDocFreq = atoi(optArg);
break;
+ case 'm':
+ _mediumDocFreq = atoi(optArg);
+ break;
+ case 'r':
+ _rareDocFreq = atoi(optArg);
+ break;
case 'd':
_numDocs = atoi(optArg);
break;
@@ -190,11 +202,11 @@ PostingListBM::Main()
_postingTypes = getPostingTypes();
}
- _wordSet.setupWords(_rnd, _numDocs, _commonDocFreq, _numWordsPerClass);
+ _wordSet.setupWords(_rnd, _numDocs, _commonDocFreq, _mediumDocFreq, _rareDocFreq, _numWordsPerClass);
AndStress andstress;
andstress.run(_rnd, _wordSet,
- _numDocs, _commonDocFreq, _postingTypes, _loops,
+ _postingTypes, _loops,
_skipCommonPairsRate,
numTasks,
_stride,