|
1234567891011121314151617181920212223242526 |
- -- Lua script to perform bayes classification
- -- This script accepts the following parameters:
- -- key1 - prefix for bayes tokens (e.g. for per-user classification)
- -- key2 - set of tokens encoded in messagepack array of int64_t
-
- local prefix = KEYS[1]
- local input_tokens = cmsgpack.unpack(KEYS[2])
- local output_spam = {}
- local output_ham = {}
-
- for i, token in ipairs(input_tokens) do
- local token_data = redis.call('HMGET', prefix .. tostring(token), 'H', 'S')
-
- if token_data then
- local ham_count = tonumber(token_data[1]) or 0
- local spam_count = tonumber(token_data[2]) or 0
-
- output_ham[i] = ham_count
- output_spam[i] = spam_count
- else
- output_ham[i] = 0
- output_spam[i] = 0
- end
- end
-
- return cmsgpack.pack({ output_ham, output_spam })
|