public virtual void TestBoostingQueryEquals()
 {
     TermQuery q1 = new TermQuery(new Term("subject:", "java"));
     TermQuery q2 = new TermQuery(new Term("subject:", "java"));
     assertEquals("Two TermQueries with same attributes should be equal", q1, q2);
     BoostingQuery bq1 = new BoostingQuery(q1, q2, 0.1f);
     QueryUtils.Check(bq1);
     BoostingQuery bq2 = new BoostingQuery(q1, q2, 0.1f);
     assertEquals("BoostingQuery with same attributes is not equal", bq1, bq2);
 }
        public virtual void TestBoostingQueryEquals()
        {
            TermQuery q1 = new TermQuery(new Term("subject:", "java"));
            TermQuery q2 = new TermQuery(new Term("subject:", "java"));

            assertEquals("Two TermQueries with same attributes should be equal", q1, q2);
            BoostingQuery bq1 = new BoostingQuery(q1, q2, 0.1f);

            QueryUtils.Check(bq1);
            BoostingQuery bq2 = new BoostingQuery(q1, q2, 0.1f);

            assertEquals("BoostingQuery with same attributes is not equal", bq1, bq2);
        }
Beispiel #3
0
        public virtual Query GetQuery(XmlElement e)
        {
            XmlElement mainQueryElem = DOMUtils.GetChildByTagOrFail(e, "Query");

            mainQueryElem = DOMUtils.GetFirstChildOrFail(mainQueryElem);
            Query mainQuery = factory.GetQuery(mainQueryElem);

            XmlElement boostQueryElem = DOMUtils.GetChildByTagOrFail(e, "BoostQuery");
            float      boost          = DOMUtils.GetAttribute(boostQueryElem, "boost", DEFAULT_BOOST);

            boostQueryElem = DOMUtils.GetFirstChildOrFail(boostQueryElem);
            Query boostQuery = factory.GetQuery(boostQueryElem);

            BoostingQuery bq = new BoostingQuery(mainQuery, boostQuery, boost);

            bq.Boost = DOMUtils.GetAttribute(e, "boost", 1.0f);
            return(bq);
        }
Beispiel #4
0
 public BooleanQueryAnonymousInnerClassHelper(BoostingQuery outerInstance)
 {
     this.outerInstance = outerInstance;
 }
	    public void TestBoostingQuery()
	    {
	        var query = new BoostingQuery();
	        query.SetPositive("name","张");
	        query.SetNegative("name","张三");
	        query.SetNegativeBoost(0.2);

	        var query2 = new BoolQuery();
	        query2.Must(query);
	        query2.Must(new TermsQuery("name", "张三"));

	        var result = client.Search(index, "type" , query2, 0, 5);
	        foreach (var VARIABLE in result.GetHits().Hits)
	        {
	            Console.WriteLine(VARIABLE.Source["name"]);
	        }
	    }