[Debtags-commits] [svn] r1839 - in debtags/1.6.0: . tools

Enrico Zini enrico at costa.debian.org
Mon Aug 14 14:54:19 UTC 2006


Author: enrico
Date: Mon Aug 14 14:54:17 2006
New Revision: 1839

Modified:
   debtags/1.6.0/   (props changed)
   debtags/1.6.0/tools/SmartSearcher.cc
   debtags/1.6.0/tools/SmartSearcher.h
Log:
 r3137 at viaza:  enrico | 2006-08-14 15:54:01 +0100
 Use smart search support from tagcoll 2.0


Modified: debtags/1.6.0/tools/SmartSearcher.cc
==============================================================================
--- debtags/1.6.0/tools/SmartSearcher.cc	(original)
+++ debtags/1.6.0/tools/SmartSearcher.cc	Mon Aug 14 14:54:17 2006
@@ -93,14 +93,11 @@
 		if (utils::set_contains(wanted, *i)
 			|| utils::set_contains(unwanted, *i)
 			|| utils::set_contains(ignored, *i)
-			|| collMetrics.get(*i) == 0)
+			|| coll.getCardinality(*i) == 0)
 			continue;
-		//size_t itemCount = coll.itemCount();
-		//int discr = collMetrics.discriminance(*i, itemCount) * 200 / itemCount;
-		//int discr = collMetrics.discriminance(*i, itemCount);
 		tagsInMenu.push_back(*i);
 		cout << tagsInMenu.size() << ") " << i->fullname()
-			 << " (" << collMetrics.get(*i) << "/" << coll.itemCount() << ")" << endl;
+			 << " (" << coll.getCardinality(*i) << "/" << coll.itemCount() << ")" << endl;
 		--max;
 	}
 }
@@ -108,7 +105,7 @@
 void SmartSearcher::showDiscriminant(int max)
 {
 	// Compute the most interesting tags by discriminance
-	vector<Tag> discr = collMetrics.tagsSortedByDiscriminance(coll.itemCount());
+	vector<Tag> discr = coll.tagsInDiscriminanceOrder();
 
 	for (std::vector<Tag>::const_reverse_iterator i = discr.rbegin();
 			i != discr.rend() && max > 0; ++i)
@@ -118,12 +115,9 @@
 			|| utils::set_contains(unwanted, *i)
 			|| utils::set_contains(ignored, *i))
 			continue;
-		//size_t itemCount = coll.itemCount();
-		//int discr = collMetrics.discriminance(*i, itemCount) * 200 / itemCount;
-		//int discr = collMetrics.discriminance(*i, itemCount);
 		tagsInMenu.push_back(*i);
 		cout << tagsInMenu.size() << ") " << i->fullname()
-			 << " (" << collMetrics.get(*i) << "/" << coll.itemCount() << ")" << endl;
+			 << " (" << coll.getCardinality(*i) << "/" << coll.itemCount() << ")" << endl;
 		--max;
 	}
 }
@@ -146,34 +140,6 @@
 	// Regenerate coll
 	coll = coll::Fast<Package, Tag>();
 	fullColl.output(filter(inserter(coll)));
-
-	collMetrics = TagMetrics<Tag, int>::computeFromTags(coll);
-
-#if 0
-	// Compute the most interesting tags by discriminance
-	interesting = collMetrics.tagsSortedByDiscriminance(coll.itemCount());
-
-	// Select them as interesting to be displayed
-	autoSelect(tags, 0);
-
-	// Compute the most interesting tags by jumps
-	coll::Fast<Package, Tag> coll1;
-	for (coll::Fast<Package, Tag>::const_iterator i = coll.begin();
-			i != coll.end(); ++i)
-		if (patternMatch(i->first))
-			coll1.insert(wibble::singleton(i->first), i->second);
-	
-	// Compute the set of tags that better represent the keyword search
-	TagMetrics<Tag, int> metrics2 = TagMetrics<Tag, int>::computeFromTags(coll1);
-	TagMetrics<Tag, int> jumps = metrics2.jumpsFrom(collMetrics);
-	interesting = jumps.tagsSortedByMetrics();
-
-	//metrics1.dump("BEF ", cout);
-	//metrics2.dump("AFT ", cout);
-	//jumps.dump("JMP ", cout);
-
-	//autoSelect(tags, 0);
-#endif
 }
 
 void SmartSearcher::computeInteresting(const std::string& pattern)
@@ -213,7 +179,6 @@
 	computeInteresting(pattern);
 
 	coll = fullColl;
-	collMetrics = TagMetrics<Tag, int>::computeFromTags(coll);
 }
 
 void SmartSearcher::interact()
@@ -329,7 +294,7 @@
 		if (utils::set_contains(wanted, *i)
 			|| utils::set_contains(unwanted, *i)
 			|| utils::set_contains(ignored, *i)
-			|| collMetrics.get(*i) == 0)
+			|| coll.getCardinality(*i) == 0)
 			continue;
 		cout << i->fullname() << " - " << i->shortDescription() << endl;
 	}

Modified: debtags/1.6.0/tools/SmartSearcher.h
==============================================================================
--- debtags/1.6.0/tools/SmartSearcher.h	(original)
+++ debtags/1.6.0/tools/SmartSearcher.h	Mon Aug 14 14:54:17 2006
@@ -21,6 +21,7 @@
 #include "Ept.h"
 #include <tagcoll/coll/fast.h>
 
+#if 0
 template<typename Tag, typename Number = int>
 class TagMetrics : public std::map<Tag, Number>
 {
@@ -208,6 +209,7 @@
 {
 	return TagMetricsInserter< TagMetrics<Tag, Number> >(out);
 }
+#endif
 
 
 class SmartSearcher
@@ -222,7 +224,6 @@
 
 	coll::Fast<Package, Tag> fullColl;
 	coll::Fast<Package, Tag> coll;
-	TagMetrics<Tag, int> collMetrics;
 
 	std::vector<std::string> patterns;
 	std::set<Tag> wanted;



More information about the Debtags-commits mailing list