Examples of TweetQuery


Examples of de.jetwick.es.TweetQuery

            try {
                int index = idStr.lastIndexOf("/");
                if (index > 0 && index + 1 < idStr.length())
                    idStr = idStr.substring(index + 1);

                q = new TweetQuery(true).addFilterQuery(ElasticTweetSearch._ID + "tweet", Long.parseLong(idStr));
            } catch (Exception ignore) {
            }
        }

        if (q == null) {
            String originStr = parameters.getString("findOrigin");
            if (originStr != null) {
                logger.info("[stats] findOrigin from lastQuery:" + lastQuery);
                q = getTweetSearch().createFindOriginQuery(lastQuery, originStr, 3);
            }
        }

        String queryStr = parameters.getString("q");       
        if(Helper.isEmpty(queryStr))
            queryStr = parameters.getString("query");
        if (queryStr == null)
            queryStr = "";
       
        if(queryStr.contains("*")) {
            warn("Cannot process query with asterisk");           
            queryStr = "";
        }

        userName = "";
        if (q == null) {
            userName = parameters.getString("u");
            if (userName == null)
                userName = parameters.getString("user");

            if (userName == null)
                userName = "";
            q = new TweetQuery(queryStr);
            if (!Helper.isEmpty(userName))
                q.addUserFilter(userName);
        }

        String fromDateStr = parameters.getString("until");
View Full Code Here

Examples of de.jetwick.es.TweetQuery

            protected void onUrlClick(AjaxRequestTarget target, String name) {
                JetwickQuery q;
                if (lastQuery != null)
                    q = lastQuery;
                else
                    q = new TweetQuery(true);

                if (name == null) {
                    q.removeFilterQueries(ElasticTweetSearch.FIRST_URL_TITLE);
                } else
                    q.addFilterQuery(ElasticTweetSearch.FIRST_URL_TITLE, name);

                doSearch(q, 0, true);
                updateAfterAjax(target, false);
            }

            @Override
            protected void onDirectUrlClick(AjaxRequestTarget target, String name) {
                if (lastQuery == null || name == null || name.isEmpty())
                    return;

                TweetQuery q = new TweetQuery(true);
                q.addFilterQuery(ElasticTweetSearch.FIRST_URL_TITLE, name);
                try {
                    List<JTweet> tweets = getTweetSearch().collectObjects(getTweetSearch().query(q.setSize(1)));
                    if (tweets.size() > 0 && tweets.get(0).getUrlEntries().size() > 0) {
                        // TODO there could be more than 1 url!
                        UrlEntry entry = tweets.get(0).getUrlEntries().iterator().next();
                        getRequestCycle().setRequestTarget(new RedirectRequestTarget(entry.getResolvedUrl()));
                    }
                } catch (Exception ex) {
                    logger.error("Error while executing onDirectUrlClick", ex);
                }
            }
        };
        add(urlTrends.setOutputMarkupId(true));

        ssPanel = new SavedSearchPanel("savedSearches") {

            @Override
            public void onClick(AjaxRequestTarget target, long ssId) {
                String searchType = parameters.getString("search");
                if (searchType != null && !searchType.isEmpty() && !SearchBox.ALL.equals(searchType)) {
                    warn("Removed user filter when executing your saved search");
                    searchBox.setSearchType(SearchBox.ALL);
                }
                JUser user = getMySession().getUser();
                SavedSearch ss = user.getSavedSearch(ssId);
                if (ss != null) {
                    doSearch(ss.getQuery(), 0, true);
                    uindexProvider.get().save(user, true);
                }
                updateSSCounts(target);
                updateAfterAjax(target, true);
            }

            @Override
            public void onRemove(AjaxRequestTarget target, long ssId) {
                JUser user = getMySession().getUser();
                user.removeSavedSearch(ssId);
                uindexProvider.get().save(user, true);
                updateSSCounts(target);
            }

            @Override
            public void onSave(AjaxRequestTarget target, long ssId) {
                if (lastQuery == null)
                    return;

                SavedSearch ss = new SavedSearch(ssId, lastQuery);
                JUser user = getMySession().getUser();
                user.addSavedSearch(ss);
                uindexProvider.get().save(user, true);
                updateSSCounts(target);
            }

            @Override
            public void updateSSCounts(AjaxRequestTarget target) {
                try {
                    JUser user = getMySession().getUser();
                    if (user != null) {
                        StopWatch sw = new StopWatch().start();
                        update(getTweetSearch().updateSavedSearches(user.getSavedSearches()));
                        if (target != null)
                            target.addComponent(ssPanel);
                        logger.info("Updated saved search counts for " + user.getScreenName() + " " + sw.stop().getSeconds());
                    }
                } catch (Exception ex) {
                    logger.error("Error while searching in savedSearches", ex);
                }
            }

            @Override
            public String translate(long id) {
                SavedSearch ss = getMySession().getUser().getSavedSearch(id);
                return ss.getName();
            }
        };

        add(ssPanel.setOutputMarkupId(true));

        add(new UserPanel("userPanel", this) {

            @Override
            public void onLogout() {
                getMySession().logout(uindexProvider.get(), (WebResponse) getResponse(), true);
                setResponsePage(TweetSearchPage.class, parameters);
            }

            @Override
            public void updateAfterAjax(AjaxRequestTarget target) {
                TweetSearchPage.this.updateAfterAjax(target, false);
            }

            @Override
            public void onHomeline(AjaxRequestTarget target, String user) {
                searchBox.setSearchType(SearchBox.FRIENDS);
                doSearch(createFriendQuery(""), 0, false);
                TweetSearchPage.this.updateAfterAjax(target, true);
            }

            @Override
            public void onShowTweets(AjaxRequestTarget target, String userName) {
                searchBox.setSearchType(SearchBox.USER);
                doSearch(new TweetQuery(true).addUserFilter(userName).setSort(ElasticTweetSearch.DATE, "desc"), 0, false);
                TweetSearchPage.this.updateAfterAjax(target, true);
            }

            @Override
            protected Collection<String> getUserChoices(String input) {
View Full Code Here

Examples of de.jetwick.es.TweetQuery

        if (getMySession().hasLoggedIn()) {
            Collection<String> friends = getMySession().getFriends(uindexProvider.get());
            if (friends.isEmpty()) {
                info("You recently logged in. Please try again in 2 minutes to use friend search.");
            } else {
                return new TweetQuery(queryStr).createFriendsQuery(friends).
                        addLatestDateFilter(8).
                        setSort(ElasticTweetSearch.DATE, "desc");
            }
        } else
            info("Login to use friend search!");
View Full Code Here

Examples of de.jetwick.es.TweetQuery

        if (argStr != null) {
            if ("true".equals(argStr))
                argStr = "**:*";

            List<JUser> list = new ArrayList<JUser>();
            long ret = tweetSearch.query(list, new TweetQuery(argStr, false)).
                    getHits().getTotalHits();
            logger.info("Found: " + ret + " users. Returned: " + list.size());
            print(list);
            return;
        }
View Full Code Here

Examples of de.jetwick.es.TweetQuery

        doSearch();
    }

    private void doSearch() {
        Collection<JUser> users = new LinkedHashSet<JUser>();       
        JetwickQuery query = new TweetQuery(queryString).
                setEscape(true).setSort(ElasticTweetSearch.RT_COUNT, "desc").
                addLatestDateFilter(24).addNoDupsFilter().addNoSpamFilter().
                addIsOriginalTweetFilter().setSize(10);
       
        long start = System.currentTimeMillis();
View Full Code Here

Examples of de.jetwick.es.TweetQuery

        Configuration cfg = injector.getInstance(Configuration.class);
        TwitterSearch twSearch = injector.getInstance(TwitterSearch.class);
        twSearch.initTwitter4JInstance(cfg.getTwitterSearchCredits().getToken(),
                cfg.getTwitterSearchCredits().getTokenSecret(), true);
        ElasticTweetSearch fromUserSearch = new ElasticTweetSearch(injector.getInstance(Configuration.class));
        JetwickQuery query = new TweetQuery().addFilterQuery(ElasticTweetSearch.UPDATE_DT, "[* TO *]");
        // TODO set facetlimit to 2000
        query.addFacetField("user").setSize(0);
        SearchResponse rsp = fromUserSearch.query(query);

        TermsFacet tf = (TermsFacet) rsp.getFacets().facet("user");
View Full Code Here

Examples of de.jetwick.es.TweetQuery

        // TODO send via RMI
    }

    public void fillFrom(final String fromUrl) {
        ElasticTweetSearch fromTweetSearch = new ElasticTweetSearch(fromUrl);
        JetwickQuery query = new TweetQuery();
        long maxPage = 1;
        int hitsPerPage = 300;
        Set<JUser> users = new LinkedHashSet<JUser>();
        Runnable optimizeOnExit = new Runnable() {

            @Override
            public void run() {
                userSearch.refresh();
                logger.info(userCounter + " users pushed to default tweet search from " + fromUrl);
            }
        };
        Runtime.getRuntime().addShutdownHook(new Thread(optimizeOnExit));

        for (int page = 0; page < maxPage; page++) {
            query.attachPagability(page, hitsPerPage);
            users.clear();

            SearchResponse rsp;
            try {
                rsp = fromTweetSearch.query(users, query);
            } catch (Exception ex) {
                logger.warn("Error while searching!", ex);
                continue;
            }
            if (maxPage == 1) {
                maxPage = rsp.getHits().getTotalHits() / hitsPerPage + 1;
                logger.info("Paging though query:" + query.toString());
                logger.info("Set numFound to " + rsp.getHits().getTotalHits());
            }

            for (JUser user : users) {
                userSearch.save(user, false);
View Full Code Here

Examples of de.jetwick.es.TweetQuery

        assertEquals(0, twSearch.countAll());
        // now put an existing article into aindex so that the article with sharecount==10 wont be fetched but queued again!
        twSearch.update(Collections.singletonList(createTweetWithUrlEntries(1L, "http://hiho.de_r", 1, "http://hiho.de")), new Date(), false);
        twSearch.forceEmptyQueueAndRefresh();

        assertEquals(1, twSearch.search(new TweetQuery()).size());
        assertEquals(1, twSearch.search(new TweetQuery()).get(0).getVersion());

        assertEquals(1, twSearch.findByUrl("http://hiho.de").size());
        assertEquals(1, twSearch.findByUrl("http://hiho.de").get(0).getVersion());

        assertTrue(resolver.executeResolve(0));
View Full Code Here

Examples of de.jetwick.es.TweetQuery

    @Test
    public void testNormalSearch() throws Exception {
//        setUp();
        ElasticTweetSearch search = getInstance(ElasticTweetSearch.class);
        JetwickQuery query = new TweetQuery("timetabling");
        tester.startPage(new TweetSearchPage(query));
        tester.assertNoErrorMessage();

        verify(search).query(new LinkedHashSet<JUser>(), query);
    }
View Full Code Here

Examples of de.jetwick.es.TweetQuery

    @Test
    public void testNoNullPointerExcForInstantSearch() throws InterruptedException {
        TweetSearchPage page = getInstance(TweetSearchPage.class);

        // query and user are null and hits == 0 => no background thread is created
        page.init(new TweetQuery(), new PageParameters());
        assertNull(page.getQueueThread());

        page.doSearch(new TweetQuery(), 0, false, true);
        assertNull(page.getQueueThread());
        assertEquals("", uString);
        assertEquals("", qString);
    }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.