/** * Checks to see if we need the spatial support, and if so creates * the necessary context objects. */ private void initSpatial() { // FIXME: for now, we only use geosearch if that's the only way to // find suitable records, since we don't know how to combine // geosearch ranking with normal search ranking. if (config.getLookupProperties().size() != 1) return; Property prop = config.getLookupProperties().iterator().next(); if (!(prop.getComparator() instanceof GeopositionComparator)) return; geoprop = new GeoProperty(prop); }
private boolean isFuzzy(String fieldName) { Comparator c = config.getPropertyByName(fieldName).getComparator(); return c != null && c.isTokenized(); }
/** * Returns the brief summary used in the command-line output. */ public String toString() { StringBuilder buf = new StringBuilder(); buf.append("[GeneticConfiguration " + shortnum(config.getThreshold())); for (Property p : config.getProperties()) if (p.isIdProperty()) buf.append(" [" + p.getName() + "]"); else buf.append(" [" + p.getName() + " " + shortname(p.getComparator()) + " " + shortnum(p.getHighProbability()) + " " + shortnum(p.getLowProbability()) + "]"); buf.append(" mr=" + mutation_rate + " rr=" + shortnum(recombination_rate)); buf.append("]"); return buf.toString(); }
Comparator comp = prop.getComparator(); if (comp == null) { high = 0.5; // no comparator, so we learn nothing
throw new DukeException("Comparison of values '" + v1 + "' and "+ "'" + v2 + "' with " + prop.getComparator() + " failed", e);
@Test public void testDefaultComparator() throws IOException, SAXException { Configuration config = ConfigLoader.load("classpath:config-no-comparator.xml"); Property prop = config.getPropertyByName("LASTNAME"); assertEquals(null, prop.getComparator()); assertEquals(Property.Lookup.DEFAULT, prop.getLookupBehaviour()); }
/** * Returns a geoquery. */ public Filter geoSearch(String value) { GeopositionComparator comp = (GeopositionComparator) prop.getComparator(); double dist = comp.getMaxDistance(); double degrees = DistanceUtils.dist2Degrees(dist, DistanceUtils.EARTH_MEAN_RADIUS_KM * 1000.0); Shape circle = spatialctx.makeCircle(parsePoint(value), degrees); SpatialArgs args = new SpatialArgs(SpatialOperation.Intersects, circle); return strategy.makeFilter(args); }
" for which there is no configuration"); if (prop.getComparator() instanceof GeopositionComparator && geoprop != null) {
private int checkProperty(String name, Configuration config, Configuration rand) { Property prop = rand.getPropertyByName(name); Property orig = config.getPropertyByName(name); int differences = 0; if (!prop.getComparator().equals(orig.getComparator())) differences++; if (prop.getHighProbability() != orig.getHighProbability()) differences++; if (prop.getLowProbability() != orig.getLowProbability()) differences++; return differences; }
public void setFromOther(GeneticConfiguration cfg1, GeneticConfiguration cfg2) { Configuration config = cfg1.getConfiguration(); Configuration other = cfg2.getConfiguration(); Property p1 = config.getPropertyByName(prop.getName()); Property p2 = other.getPropertyByName(prop.getName()); p1.setComparator(p2.getComparator()); } }
@Test public void canAddCustomComparator() { GeneticConfiguration conf = new GeneticConfiguration(config1); Property aspectProp = new PropertyImpl(propName, null, 0.5, 0.5); List<Comparator> compList = new ArrayList<Comparator>(); compList.add(comparator); ComparatorAspect aspect = new ComparatorAspect(aspectProp, compList); aspect.setRandomly(conf); Property updatedProp = config1.getPropertyByName(propName); Comparator randomComparator = updatedProp.getComparator(); assertTrue("should have custom comparator set, but has : " + randomComparator.getClass(), randomComparator.equals(comparator)); } }
private void writeProperty(Property prop) { AttributeListImpl atts = new AttributeListImpl(); if (prop.isIdProperty()) atts.addAttribute("type", "CDATA", "id"); else if (prop.isIgnoreProperty()) atts.addAttribute("type", "CDATA", "ignore"); if (!prop.isIdProperty() && prop.getLookupBehaviour() != Property.Lookup.DEFAULT) { String value = prop.getLookupBehaviour().toString().toLowerCase(); atts.addAttribute("lookup", "CDATA", value); } pp.startElement("property", atts); writeElement("name", prop.getName()); if (prop.getComparator() != null) writeElement("comparator", prop.getComparator().getClass().getName()); if (prop.getLowProbability() != 0.0) writeElement("low", "" + prop.getLowProbability()); if (prop.getHighProbability() != 0.0) writeElement("high", "" + prop.getHighProbability()); pp.endElement("property"); }
assertEquals(lev.getClass(), prop.getComparator().getClass()); assertEquals(0.3, prop.getLowProbability()); assertEquals(0.8, prop.getHighProbability()); assertEquals(lev.getClass(), prop.getComparator().getClass()); assertEquals(0.3, prop.getLowProbability()); assertEquals(0.8, prop.getHighProbability());
assertEquals(lev.getClass(), prop.getComparator().getClass()); assertEquals(0.3, prop.getLowProbability()); assertEquals(0.8, prop.getHighProbability()); assertEquals(lev.getClass(), prop.getComparator().getClass()); assertEquals(0.3, prop.getLowProbability()); assertEquals(0.8, prop.getHighProbability());
assertEquals(lev.getClass(), prop.getComparator().getClass()); assertEquals(0.3, prop.getLowProbability()); assertEquals(0.8, prop.getHighProbability()); assertEquals(lev.getClass(), prop.getComparator().getClass()); assertEquals(0.3, prop.getLowProbability()); assertEquals(0.8, prop.getHighProbability());
assertEquals(lev.getClass(), prop.getComparator().getClass()); assertEquals(0.3, prop.getLowProbability()); assertEquals(0.8, prop.getHighProbability()); assertEquals(lev.getClass(), prop.getComparator().getClass()); assertEquals(0.3, prop.getLowProbability()); assertEquals(0.8, prop.getHighProbability());
private boolean isFuzzy(String fieldName) { Comparator c = config.getPropertyByName(fieldName).getComparator(); return c != null && c.isTokenized(); }
/** * Returns the brief summary used in the command-line output. */ public String toString() { StringBuilder buf = new StringBuilder(); buf.append("[GeneticConfiguration " + shortnum(config.getThreshold())); for (Property p : config.getProperties()) if (p.isIdProperty()) buf.append(" [" + p.getName() + "]"); else buf.append(" [" + p.getName() + " " + shortname(p.getComparator()) + " " + shortnum(p.getHighProbability()) + " " + shortnum(p.getLowProbability()) + "]"); buf.append("]"); return buf.toString(); }
public void setFromOther(Configuration config, Configuration other) { Property p1 = config.getPropertyByName(prop.getName()); Property p2 = other.getPropertyByName(prop.getName()); p1.setComparator(p2.getComparator()); }
/** * Returns a geoquery. */ public Filter geoSearch(String value) { GeopositionComparator comp = (GeopositionComparator) prop.getComparator(); double dist = comp.getMaxDistance(); double degrees = DistanceUtils.dist2Degrees(dist, DistanceUtils.EARTH_MEAN_RADIUS_KM * 1000.0); Shape circle = spatialctx.makeCircle(parsePoint(value), degrees); SpatialArgs args = new SpatialArgs(SpatialOperation.Intersects, circle); return strategy.makeFilter(args); }