Beispiel #1
0
def sum_list(list):
  import random
  key = str(int(random.random()*100000))

  for l in list:
    cache.zincrby(name=key, value=l, amount=1)

  results = cache.zrevrangebyscore(name=key, min='-inf', max='+inf', withscores=True)
  cache.delete(key)
  return results
  
    def search(self, words):
        keys = self.parse(words)
        try:
            cache_words = slugify(unidecode(words))
            cache.zinterstore(dest=self.cache_key_prefix + cache_words, keys=keys)
        except Exception as err:
            logger.error("Err is %s" %err)
            return None

        cache_keys = cache.zrevrangebyscore(self.cache_key_prefix + cache_words, "+inf", "-inf")
        tags = []
        for cache_key in cache_keys:
            tags.append(cache.hgetall(cache_key))
        tags = filter(None, tags)
        return {
            words: tags
        }
Beispiel #3
0
  def parse(cls, words):
    import random
    if isinstance(words, list):
      return []

    tmp_key = 'TMP:KEY:%s' %str(int(float(random.random()*100000)))
    results = []
    words = to_str(words)
    for text in seg_txt(words):
      if cls.is_keyword(text):
        results.append(text)

    for r in results:
      cache.zincrby(name=tmp_key, value=r, amount=1)

    keywords = cache.zrevrangebyscore(name=tmp_key, min='-inf', max='+inf', withscores=True)
    cache.delete(tmp_key)
    return [keyword[0].decode('utf-8') + u'__' + str(keyword[1]).decode('utf-8') for keyword in keywords]
    def handle(self, *args, **options):
        path = os.getcwd() + "/data/"
        #        files = os.listdir(path)
        #
        #        for file_name in files:
        #            file = open(path + file_name, 'r')
        #            lines = file.readlines()
        #            for line in lines:
        #                try:
        #                    load = False
        #                    line.replace('::::::', ':::')
        #                    line.replace(':::::', ':::')
        #                    line.replace('::::', ':::')
        #                    tags_str = line.split(':::')[3]
        #                    tags = tags_str.split('__')
        #                    for tag in tags:
        #                        if cache.exists(name='%s%s' %(TMP_KEY, tag)):
        #                            load = True
        #                            break
        #
        #                    if load:
        #                        tag = tags[0]
        #                        for last in tags[1:]:
        #                            key1 = '%s%s' %(BASIC_KEY, tag)
        #                            key2 = '%s%s' %(BASIC_KEY, last)
        #                            cache.zincrby(name=key1, value=last, amount=damping)
        #                            cache.zincrby(name=key2, value=tag, amount=damping)
        #
        #                except Exception as err:
        #                    print(err)
        #                    continue

        path = path + "basic_tags/"
        keys = cache.keys("%s*" % BASIC_KEY)

        file = open(path + "relations", "w")
        for key in keys:
            print("load %s" % key[15:])
            data = cache.zrevrangebyscore(name=key, max="+inf", min="-inf", withscores=True)
            name = key[15:]
            values = "__".join([l[0] + ":::" + str(l[1]) for l in data])
            file.write(name + "\t" + values + "\n")
        file.close()
 def get(self, word):
     try:
         return cache.zrevrangebyscore(name=self.cache_key_prefix + word, max='+inf', min="-inf")
     except Exception as err:
         logger("cache_key %s for err %s" %(self.cache_key_prefix + word, err))
         return None
Beispiel #6
0
 def get_info(self):
   key = '%s%s' %(cache_key, self.name)
   results = cache.zrevrangebyscore(name=key, min='-inf', max='+inf', withscores=False)
   return results