def update_tweets_state_by_event_ngram(self, **kwargs): tweets_connector = Es_connector(index=kwargs["index"], doc_type="tweet") query = { "query": { "bool": { "should": kwargs["target_terms"], "minimum_should_match": 1, "must": [{ "match_phrase": { kwargs["ngramsPropName"]: kwargs["ngram"] } }, { "match": { kwargs["session"]: kwargs["query_label"] } }] } } } return tweets_connector.update_query(query, kwargs["session"], kwargs["new_label"])
def set_cluster_state(self, index, session, cid, state): tweets_connector = Es_connector(index=index, doc_type="tweet") # All tweets session = 'session_' + session query = {"query": {"term": {"imagesCluster": cid}}} res = tweets_connector.update_query(query, session, state) return res
def set_search_status(self, index, session, state, word): tweets_connector = Es_connector(index=index, doc_type="tweet") session = 'session_' + session query = { "query": { "bool": { "must": { "simple_query_string": { "fields": ["text"], "query": word } }, "filter": { "bool": { "should": [{ "match": { session: "proposed" } }] } } } } } res = tweets_connector.update_query(query, session, state) return res
def set_search_status_force(self, index, session, state, word): tweets_connector = Es_connector(index=index, doc_type="tweet") session = 'session_' + session query = { "query": { "bool": { "must": { "simple_query_string": { "fields": ["text"], "query": word } } } } } res = tweets_connector.update_query(query, session, state) return res
def update_tweets_state_by_ngram(self, **kwargs): tweets_connector = Es_connector(index=kwargs["index"], doc_type="tweet") if kwargs.get('full_search', False): # All tweets query = { "query": { "bool": { "must": [{ "match_phrase": { kwargs["ngramsPropName"]: kwargs["ngram"] } }, { "match": { kwargs["session"]: kwargs["query_label"] } }] } } } else: # Tweets matching a user-generated query query = { "query": { "bool": { "must": [{ "match": { "text": kwargs["word"] } }, { "match_phrase": { kwargs["ngramsPropName"]: kwargs["ngram"] } }, { "match": { kwargs["session"]: kwargs["query_label"] } }] } } } return tweets_connector.update_query(query, kwargs["session"], kwargs["new_label"])
def set_status(self, index, session, data): tweets_connector = Es_connector(index=index, doc_type="tweet") # All tweets session = 'session_' + session event = json.loads(data['event']) # print("------------------------") # print(data) # print("------------------------") # print(event) # print(event['main_term']) terms = [] words = event['main_term'] + ' ' for t in event['related_terms']: terms.append( {"match": { "text": { "query": t['word'], "boost": t['value'] } }}) words += t['word'] + " " terms.append( {"match": { "text": { "query": event['main_term'], "boost": 2 } }}) # query = { # "query": { # "bool": { # "should": terms # } # } # } query = { "query": { "bool": { "must": [{ "bool": { "should": terms } }], "filter": { "bool": { "should": [{ "match": { session: "proposed" } }] } } } } } # print(query) res = tweets_connector.update_query(query, session, data['status']) # Event related return res