Closed 0xd34df00d closed 11 years ago
doesnt compile on mac and throws a warning on inux /Users/yanis/barzer/zurch_docdataindex.cpp:15:11: error: no matching member function for call to 'insert' m_index.insert({ docId, { value } }).first;
i made it compile and got rid of the warning BUT there is a performance time bomb in the way this thing is designed right now there is a map "property name" to "value" for EVERY document. So if I am trying to filter 20000 documents on property "blabla" and property "lala"
It's hard to implement inverted index so I will do a compromise. We will have this filtering system and IN ADDITION to that a simpler checker of keys (specifically the thing for module numbers and such) .. i will implement a separateq data structure which can be cascaded with the fancy filters
ok, i added the moduleId indexing . see SimpleIdx - this is a very simple and very fast way to filter stuff such as this this is a complementary technology to the stuff i call "fancy index" . we can start with it to complete the stuff by thurday)
implemented the simpler version (tied it in) . it's all pushed , compiles but untested . simpler version of the filter should be a decent start
first version deployed parameter is flt . format is TYPE,FILTERTYPE,propertyName,v1,v2 ... TYPE is i, d or s for integer, double or string FILTERTYPE is o for "One Of" (true if value of the property for the document is one of the v1,...,vN or r for range currently range filter expects BOTH values to be set
first approximation of it is done
i will change DocInfo a bit