guessPortlet.put("type", ParsedObject.OBJECT_TYPE_PORTLET);
searchEngine.add(paDemo);
searchEngine.add(Arrays.asList(helloPortlet, guessPortlet));
SearchResults searchResults = searchEngine.search("demo");
assertEquals(3, searchResults.size());
String query = ParsedObject.FIELDNAME_TYPE + ":\"" + ParsedObject.OBJECT_TYPE_PORTLET_APPLICATION + "\" AND ( demo )";
searchResults = searchEngine.search(query);
assertEquals(1, searchResults.size());
query = ParsedObject.FIELDNAME_TYPE + ":\"" + ParsedObject.OBJECT_TYPE_PORTLET + "\" " +
"AND NOT " + ParsedObject.FIELDNAME_TYPE + ":\"" + ParsedObject.OBJECT_TYPE_PORTLET_APPLICATION + "\" " +
"AND ( demo )";
searchResults = searchEngine.search(query);
assertEquals(2, searchResults.size());
query = ParsedObject.FIELDNAME_TYPE + ":\"" + ParsedObject.OBJECT_TYPE_PORTLET + "\" " +
"AND NOT " + ParsedObject.FIELDNAME_TYPE + ":\"" + ParsedObject.OBJECT_TYPE_PORTLET_APPLICATION + "\" " +
"AND ( hello )";
searchResults = searchEngine.search(query);
assertEquals(1, searchResults.size());
query = ParsedObject.FIELDNAME_TYPE + ":\"" + ParsedObject.OBJECT_TYPE_PORTLET + "\" " +
"AND NOT " + ParsedObject.FIELDNAME_TYPE + ":\"" + ParsedObject.OBJECT_TYPE_PORTLET_APPLICATION + "\" " +
"AND ( guess )";
searchResults = searchEngine.search(query);
assertEquals(1, searchResults.size());
}