Skip to content
Snippets Groups Projects
Commit 1fa7f509 authored by unknown's avatar unknown
Browse files

Added Ansible code and couchdb views to Public Repo

parent ba645f93
Branches master
No related tags found
No related merge requests found
Pipeline #45146 failed
Showing
with 786 additions and 0 deletions
-----BEGIN RSA PRIVATE KEY-----
MIIEpAIBAAKCAQEArlj87Mx5ph+RUIkP2fnOmRcSfh5b9S3piERGt/gHAeULUK9F
vskxn7DpAzGPD59QM1TSegdICp8YIEVb2lDvM6MSLk8hby2+ohdcA7AGtSyNURf9
xCMAi4z4a5xjZp1gzIKnJ7tWcYPKI8xxfKpJ/KCqP7rCuslCCqKGMcJMHVICZSn9
lyd7C7/G5YjSf4J7wmnA7b7KTRjSP/Tdfo1EGwkG8k6btYimT3u2o6akmtI/97rl
4EYe1Y5xGOmKnyeGjLFi7Od6ufXAUTODNPN2H+IufX+GVdm9lhRxh9yHN6b9MfQy
2J021DrGDOOaqtocAoY1jkKMjXHjyHyrcqpypwIDAQABAoIBAGH1EbaidD8IQYc0
Wzmnh5KwSe2edSBeeXXclrdKnfVMkXz13YQCWuVUarcmozCt3Eva/p8ddDaziMSo
86DIFH24w8BNKYXj99Xutf5EaqBktcm4ZxZKbEX8IJ+lsJu5FOgTCIPkV/9TgsF2
XtUigIt2YfGIp1x3M6nyAt/2QPm/ar1nZsY4ebqBo+oL0VKYhhj8AW657FSV3Iza
n5n5AfkcjRyKUvbWvdi/vXsQDW7hwsOxI8TqHcvo12e5Kujm1KuSZ/Ros+DgmvK7
596I38s0UgT2lPbxq/bgANsoCubIqLq/YA38hWsN/07kz7D+LX12l/+Wppgc0ZgM
mfP1iiECgYEA1Ds02s8ZCcE8mBLA4yhoXiT+QuCK79fX8TYNEt0dJoqS/JbsKBBc
AcH75YY7VeIFn0AHJmlgu26enfVz/qKVxhh6Vb6ooBwryEEJQUeQbOjHfNWZC7qf
No2ZJFZ7/65C2ZhfdBq/BEn0NMeqp5T23zlehcIx2Dz2z0Px5odAZqkCgYEA0k20
pPzta04hzh4+a+jsB9Ric4/0BfZfFg1t2AfXkSrbB2pdKFCw+CbJtHrAP4Dr/EUn
153YEAd2ZkZCO+UWB8vc7J++yhYoqVNDa7/pyNJnyYV3z8o//+c1NawCsy2KIVLc
YG4pe1WYPce7PyjeVvFsK9cIFQfG6yi2v/cx8M8CgYEAo7U78yDXBoBJdmDY6yCL
STut6fZ9Fb9gck8oTInFZ6py8WaVqd3cqvpwjT862+eqQIpKOaYFmO8eaWgh3qSZ
daICE8wrFL5GQ4VvVyyVynzRDIlTMgn1sEYPgEk6AyLvrBtuXggXmn5VYrU1/WjZ
+ZyuPe1rN4rnM0ANA68GzWkCgYEAjqI3T+Nfn3SphuOKUKP0WccZUumihty3Vvya
sHd5JDMdxKTGNA6uSE/+Y9MRSsDEzR+WSy36Gb0F943VZEwWqgkBeNdLjkKDJ3ya
cJ0EEblqvQox3ZN93rFQrGtSlXXghoNthlWQ+t5t2BD8FXVBf1RUmlNIXwMcTega
Mo6Up48CgYAkZjY+U7R/AXGGFOD2pTEbX4h7VJ/nUoOTgvZdwW9p8rN1IoNSeSSY
QE0/wBylRMfHYXUmpurdbPSW62XTzj6cWQistWFrCuMvZV+D0JMRrsDoNbdq+EYr
DJ7LLnXcXVUREketYEzRiObc8mUfC1Qbj0JCel7Get1s9rhgKOo0zQ==
-----END RSA PRIVATE KEY-----
# COMP90024 Cluster and Cloud Computing
# Assignment 2, Semester 1 2020
# Team 21
# Vishal Juneja - Melbourne
# Shekher Mudgal - Melbourne
# Sagar Chaudhari - Melbourne
# Sharath Chandran - Melbourne
# Rudolph Almeida - Melbourne
#
. ./openrc.sh; ansible-playbook -i hosts --ask-become-pass nectar.yml
\ No newline at end of file
# COMP90024 Cluster and Cloud Computing
# Assignment 2, Semester 1 2020
# Team 21
# Vishal Juneja - Melbourne
# Shekher Mudgal - Melbourne
# Sagar Chaudhari - Melbourne
# Sharath Chandran - Melbourne
# Rudolph Almeida - Melbourne
#
---
volumes:
- device: /dev/vdb
mountpoint: /var/lib/docker
# COMP90024 Cluster and Cloud Computing
# Assignment 2, Semester 1 2020
# Team 21
# Vishal Juneja - Melbourne
# Shekher Mudgal - Melbourne
# Sagar Chaudhari - Melbourne
# Sharath Chandran - Melbourne
# Rudolph Almeida - Melbourne
#
# common vars
availability_zone: melbourne-qh2-uom
# volume
volumes:
- vol_name: volume1
vol_size: 60
- vol_name: volume2
vol_size: 60
- vol_name: volume3
vol_size: 60
volumes_web:
- vol_name: volume4
vol_size: 30
# security group
security_groups:
- name: ssh
description: "ssh security group"
rules:
- protocol: tcp
port_range_min: 22
port_range_max: 22
remote_ip_prefix: 0.0.0.0/0
- name: http
description: "http security group"
rules:
- protocol: tcp
port_range_min: 80
port_range_max: 80
remote_ip_prefix: 0.0.0.0/0
- protocol: tcp
port_range_min: 443
port_range_max: 443
remote_ip_prefix: 0.0.0.0/0
- name: docker
description: "docker security group"
rules:
- protocol: tcp
port_range_min: 2376
port_range_max: 2377
remote_ip_prefix: 0.0.0.0/0
- name: couchdb
description: "couchdb security group"
rules:
- protocol: tcp
port_range_min: 5984
port_range_max: 5984
remote_ip_prefix: 0.0.0.0/0
- protocol: tcp
port_range_min: 5986
port_range_max: 5986
remote_ip_prefix: 0.0.0.0/0
- protocol: tcp
port_range_min: 4369
port_range_max: 4369
remote_ip_prefix: 0.0.0.0/0
- protocol: tcp
port_range_min: 9100
port_range_max: 9200
remote_ip_prefix: 0.0.0.0/0
- name: web-service
description: "open webservice port"
rules:
- protocol: tcp
port_range_min: 8080
port_range_max: 8080
remote_ip_prefix: 0.0.0.0/0
# instance
instances:
- name: Server1
volumes: ['volume1']
- name: server2
volumes: ['volume2']
instances_web:
- name: Server3
volumes: ['volume3']
- name: server4
volumes: ['volume4']
instance_image: 45225edb-66d8-4fd0-bf41-132a31a18166
instance_key_name: CCCGroup21
instance_flavor: uom.mse.2c9g
instance_network: qh2-uom-internal
[HOSTS]
[HOSTS:vars]
ansible_python_interpreter=/usr/bin/python3
ansible_user=ubuntu
ansible_ssh_private_key_file=/etc/ansible/CCCGroup21.pem
ansible_ssh_common_args='-o StrictHostKeyChecking=no'
[WEBHOSTS]
[WEBHOSTS:vars]
ansible_python_interpreter=/usr/bin/python3
ansible_user=ubuntu
ansible_ssh_private_key_file=/etc/ansible/CCCGroup21.pem
ansible_ssh_common_args='-o StrictHostKeyChecking=no'
# COMP90024 Cluster and Cloud Computing
# Assignment 2, Semester 1 2020
# Team 21
# Vishal Juneja - Melbourne
# Shekher Mudgal - Melbourne
# Sagar Chaudhari - Melbourne
# Sharath Chandran - Melbourne
# Rudolph Almeida - Melbourne
#
- hosts: localhost
vars_files:
- host_vars/vars.yaml
gather_facts: true
roles:
- role: openstack-common
- role: openstack-volume
- role: openstack-security-group
- role: openstack-instance
- hosts: HOSTS
vars_files:
- host_vars/docker_vars.yaml
gather_facts: true
tasks:
# add server proxy
- name: add proxy
become: yes
lineinfile:
path: /etc/environment
state: present
line: "{{ item }}"
with_items: "{{ proxy }}"
# configure docker proxy
- name: configure docker proxy
become: yes
command: sudo mkdir -p /etc/systemd/system/docker.service.d
- name: create a http proxy conf file
become: yes
copy:
dest: /etc/systemd/system/docker.service.d/http-proxy.conf
force: no
content: |
[Service]
Environment="HTTP_PROXY=http://wwwproxy.unimelb.edu.au:8000"
- name: create a https proxy conf file
become: yes
copy:
dest: /etc/systemd/system/docker.service.d/https-proxy.conf
force: no
content: |
[Service]
Environment="HTTP_PROXY=http://wwwproxy.unimelb.edu.au:8000"
- name: Flush changes
become: yes
command: sudo systemctl daemon-reload
- name: restart docker
become: yes
command: sudo systemctl restart docker
roles:
- role: infra-common
- role: infra-volumes
- role: infra-docker
- role: openstack-proxy
- hosts: WEBHOSTS
vars_files:
- host_vars/docker_vars.yaml
gather_facts: true
roles:
- role: infra-common
- role: infra-volumes
- role: infra-docker
- role: openstack-proxy
- hosts: HOSTS
gather_facts: true
roles:
- role: launch-couchdb
# - role: twitter-harvester
#!/usr/bin/env bash
# To use an OpenStack cloud you need to authenticate against the Identity
# service named keystone, which returns a **Token** and **Service Catalog**.
# The catalog contains the endpoints for all services the user/tenant has
# access to - such as Compute, Image Service, Identity, Object Storage, Block
# Storage, and Networking (code-named nova, glance, keystone, swift,
# cinder, and neutron).
#
# *NOTE*: Using the 3 *Identity API* does not necessarily mean any other
# OpenStack API is version 3. For example, your cloud provider may implement
# Image API v1.1, Block Storage API v2, and Compute API v2.0. OS_AUTH_URL is
# only for the Identity API served through keystone.
export OS_AUTH_URL=https://keystone.rc.nectar.org.au:5000/v3/
# With the addition of Keystone we have standardized on the term **project**
# as the entity that owns the resources.
export OS_PROJECT_ID=ea2dfc1d5cc742debb1bfc70d0cdeb48
export OS_PROJECT_NAME="unimelb-comp90024-2020-grp-21"
export OS_USER_DOMAIN_NAME="Default"
if [ -z "$OS_USER_DOMAIN_NAME" ]; then unset OS_USER_DOMAIN_NAME; fi
export OS_PROJECT_DOMAIN_ID="default"
if [ -z "$OS_PROJECT_DOMAIN_ID" ]; then unset OS_PROJECT_DOMAIN_ID; fi
# unset v2.0 items in case set
unset OS_TENANT_ID
unset OS_TENANT_NAME
# In addition to the owning entity (tenant), OpenStack stores the entity
# performing the action as the **user**.
export OS_USERNAME="sagar.chaudhari@student.unimelb.edu.au"
# With Keystone you pass the keystone password.
echo "Please enter your OpenStack Password for project $OS_PROJECT_NAME as user $OS_USERNAME: "
read -sr OS_PASSWORD_INPUT
export OS_PASSWORD=$OS_PASSWORD_INPUT
# If your configuration has multiple regions, we set that information here.
# OS_REGION_NAME is optional and only valid in certain environments.
export OS_REGION_NAME="Melbourne"
# Don't leave a blank variable, unset it if it was empty
if [ -z "$OS_REGION_NAME" ]; then unset OS_REGION_NAME; fi
export OS_INTERFACE=public
export OS_IDENTITY_API_VERSION=3
\ No newline at end of file
# COMP90024 Cluster and Cloud Computing
# Assignment 2, Semester 1 2020
# Team 21
# Vishal Juneja - Melbourne
# Shekher Mudgal - Melbourne
# Sagar Chaudhari - Melbourne
# Sharath Chandran - Melbourne
# Rudolph Almeida - Melbourne
#
---
- name: Gather facts of remote host
setup:
gather_subset: all
- name: Install dependencies
tags: always
become: yes
apt:
name: ['apt-transport-https', 'build-essential', 'ca-certificates', 'curl', 'git', 'python3-dev', 'python3-pip', 'python3-setuptools', 'software-properties-common', 'unzip', 'vim']
state: latest
install_recommends: no
update_cache: yes
- name: Update pip
tags: always
become: yes
pip:
name: ['pip']
state: latest
\ No newline at end of file
# COMP90024 Cluster and Cloud Computing
# Assignment 2, Semester 1 2020
# Team 21
# Vishal Juneja - Melbourne
# Shekher Mudgal - Melbourne
# Sagar Chaudhari - Melbourne
# Sharath Chandran - Melbourne
# Rudolph Almeida - Melbourne
#
---
- name: Uninstall old versions of docker
tags: 'docker'
become: yes
apt:
name: ['docker', 'docker-engine', 'docker.io']
state: absent
- name: Install dependencies
tags: 'docker'
become: yes
apt:
name: ['apt-transport-https', 'ca-certificates', 'curl', 'python-setuptools', 'software-properties-common']
state: latest
install_recommends: no
update_cache: yes
- name: Add Docker apt repository key
tags: 'docker'
become: yes
apt_key:
url: https://download.docker.com/linux/ubuntu/gpg
state: present
- name: Add Docker apt repository and update apt cache
tags: 'docker'
become: yes
apt_repository:
repo: "deb https://download.docker.com/linux/{{ ansible_distribution|lower }} {{ ansible_distribution_release }} stable"
mode: '644'
update_cache: yes
state: present
- name: Install docker
tags: 'docker'
become: yes
apt:
name: ['docker-ce']
state: latest
install_recommends: no
update_cache: yes
- name: Install docker-compose
tags: 'docker'
become: yes
pip:
name: ['docker-compose']
state: latest
\ No newline at end of file
# COMP90024 Cluster and Cloud Computing
# Assignment 2, Semester 1 2020
# Team 21
# Vishal Juneja - Melbourne
# Shekher Mudgal - Melbourne
# Sagar Chaudhari - Melbourne
# Sharath Chandran - Melbourne
# Rudolph Almeida - Melbourne
#
---
volumes:
- mountpoint: /var/lib/docker
# COMP90024 Cluster and Cloud Computing
# Assignment 2, Semester 1 2020
# Team 21
# Vishal Juneja - Melbourne
# Shekher Mudgal - Melbourne
# Sagar Chaudhari - Melbourne
# Sharath Chandran - Melbourne
# Rudolph Almeida - Melbourne
#
---
- name: Install dependencies
tags: 'volumes'
become: yes
apt:
name: ['xfsprogs']
state: latest
install_recommends: no
update_cache: yes
- name: Make file system
tags: 'volumes'
become: yes
filesystem:
fstype: xfs
dev: "{{ item.device }}"
when: item.device is defined
with_items:
- "{{ volumes }}"
- name: Checking folders
tags: 'volumes'
become: yes
stat:
path: "{{ item.mountpoint }}"
register: directory_stats
with_items:
- "{{ volumes }}"
- name: Create directory
tags: 'volumes'
become: yes
file:
path: "{{ item.item.mountpoint }}"
recurse: yes
state: directory
when: item.stat.exists == false
with_items:
- "{{ directory_stats.results }}"
- name: Mount device
tags: 'volumes'
become: yes
mount:
path: "{{ item.mountpoint }}"
src: "{{ item.device }}"
fstype: xfs
state: mounted
when: item.device is defined
with_items:
- "{{ volumes }}"
\ No newline at end of file
# COMP90024 Cluster and Cloud Computing
# Assignment 2, Semester 1 2020
# Team 21
# Vishal Juneja - Melbourne
# Shekher Mudgal - Melbourne
# Sagar Chaudhari - Melbourne
# Sharath Chandran - Melbourne
# Rudolph Almeida - Melbourne
#
- name: docker pull couchdb
command: sudo docker pull couchdb:latest
become: yes
- name: Run a CouchDB Docker Container
become: yes
become_user: root
command: sudo docker run -d --name couchdb --log-opt max-size=100m --restart always -p 5984:5984 -p 5986:5986 -p 4369:4369 -p 9100-9200:9100-9200 -v /home/ubuntu/common/data:/opt/couchdb/data -e COUCHDB_USER='admin' -e COUCHDB_PASSWORD='password' -e COUCHDB_SECRET='mysecret' couchdb -setcookie mycookie
- name: Curl command
become: yes
become_user: root
shell: curl -sL https://deb.nodesource.com/setup_8.x
args:
warn: no
# COMP90024 Cluster and Cloud Computing
# Assignment 2, Semester 1 2020
# Team 21
# Vishal Juneja - Melbourne
# Shekher Mudgal - Melbourne
# Sagar Chaudhari - Melbourne
# Sharath Chandran - Melbourne
# Rudolph Almeida - Melbourne
#
# install dependancies in the host
- name: Install pip
become: yes
apt:
name: ['python3-pip']
state: latest
update_cache: yes
when: ansible_distribution == "Ubuntu"
- name: Update pip
become: yes
pip:
name: ['pip']
state: latest
- name: Install openstacksdk
become: yes
pip:
name: ['openstacksdk']
state: latest
# COMP90024 Cluster and Cloud Computing
# Assignment 2, Semester 1 2020
# Team 21
# Vishal Juneja - Melbourne
# Shekher Mudgal - Melbourne
# Sagar Chaudhari - Melbourne
# Sharath Chandran - Melbourne
# Rudolph Almeida - Melbourne
#
# Create an instance on MRC
- name: Create an instance
os_server:
name: '{{ item.name }}'
image: '{{ instance_image }}'
key_name: '{{ instance_key_name }}'
flavor: '{{ instance_flavor}}'
availability_zone: '{{ availability_zone }}'
network: '{{ instance_network }}'
security_groups: '{{ sg_names }}'
volumes: '{{ item.volumes }}'
auto_floating_ip: yes
wait: yes
timeout: 600
state: present
loop: '{{ instances }}'
register: os_instance
- name: Create an instance
os_server:
name: '{{ item.name }}'
image: '{{ instance_image }}'
key_name: '{{ instance_key_name }}'
flavor: '{{ instance_flavor}}'
availability_zone: '{{ availability_zone }}'
network: '{{ instance_network }}'
security_groups: '{{ sg_names }}'
volumes: '{{ item.volumes }}'
auto_floating_ip: yes
wait: yes
timeout: 600
state: present
loop: '{{ instances_web }}'
register: os_instance_web
- debug:
msg: "Instance {{ item.openstack.name }} has been created. IP address is {{ item.openstack.public_v4 }}"
with_items:
- '{{ os_instance.results }}'
- '{{ os_instance_web.results }}'
when: item.openstack is defined
- name: Wait for connecetion
wait_for:
host: "{{ item.openstack.public_v4 }}"
port: 22
timeout: 120
search_regex: OpenSSH
with_items:
- '{{ os_instance.results }}'
- '{{ os_instance_web.results }}'
when: item.openstack is defined
# add hosts to ansible memory inventory
- name: Add host
add_host:
name: '{{ item.openstack.public_v4 }}'
groups: HOSTS
loop: '{{ os_instance.results }}'
when: item.openstack is defined
- name: Add web host
add_host:
name: '{{ item.openstack.public_v4 }}'
groups: WEBHOSTS
loop: '{{ os_instance_web.results }}'
when: item.openstack is defined
# COMP90024 Cluster and Cloud Computing
# Assignment 2, Semester 1 2020
# Team 21
# Vishal Juneja - Melbourne
# Shekher Mudgal - Melbourne
# Sagar Chaudhari - Melbourne
# Sharath Chandran - Melbourne
# Rudolph Almeida - Melbourne
#
- name: Insert/Update "proxy setting" in /etc/environment
become: yes
become_user: root
blockinfile:
path: /etc/environment
block: |
HTTP_PROXY: http://wwwproxy.unimelb.edu.au:8000/
HTTPS_PROXY: http://wwwproxy.unimelb.edu.au:8000/
http_proxy: http://wwwproxy.unimelb.edu.au:8000/
https_proxy: http://wwwproxy.unimelb.edu.au:8000/
No_proxy: http://wwwproxy.unimelb.edu.au:8000/
- name: Reboot VM that might have lots of updates to apply
become: yes
reboot:
reboot_timeout: 3600
# COMP90024 Cluster and Cloud Computing
# Assignment 2, Semester 1 2020
# Team 21
# Vishal Juneja - Melbourne
# Shekher Mudgal - Melbourne
# Sagar Chaudhari - Melbourne
# Sharath Chandran - Melbourne
# Rudolph Almeida - Melbourne
#
# create a security group
- name: Create a security group
os_security_group:
name: '{{ item.name }}'
description: '{{ item.description }}'
state: present
loop: '{{ security_groups }}'
- name: Create a list of security group names
set_fact:
sg_names: '{{ sg_names|default([]) + [ item.name ] }}'
loop: '{{ security_groups }}'
- debug:
msg: "Security groups {{ sg_names }} have been created."
# create security group rules
- name: Create security group rules
os_security_group_rule:
security_group: '{{ item.0.name }}'
protocol: '{{ item.1.protocol }}'
port_range_min: '{{ item.1.port_range_min }}'
port_range_max: '{{ item.1.port_range_max }}'
remote_ip_prefix: '{{ item.1.remote_ip_prefix }}'
state: present
loop: '{{ security_groups | subelements("rules", "skip_missing=True") }}'
# COMP90024 Cluster and Cloud Computing
# Assignment 2, Semester 1 2020
# Team 21
# Vishal Juneja - Melbourne
# Shekher Mudgal - Melbourne
# Sagar Chaudhari - Melbourne
# Sharath Chandran - Melbourne
# Rudolph Almeida - Melbourne
#
# create volumes
- name: Create volumes(s) on MRC
os_volume:
display_name: '{{ item.vol_name }}'
size: '{{ item.vol_size }}'
availability_zone: '{{ availability_zone }}'
wait: yes
timeout: 600
state: present
with_items:
- '{{ volumes }}'
- '{{ volumes_web }}'
register: os_vol
- name: Create a list of volume IDs
set_fact:
os_vol_ids: '{{ os_vol_ids|default([]) + [ item.id ] }}'
loop: '{{ os_vol.results }}'
- debug:
msg: "Volume {{ os_vol_ids }} has been created."
# COMP90024 Cluster and Cloud Computing
# Assignment 2, Semester 1 2020
# Team 21
# Vishal Juneja - Melbourne
# Shekher Mudgal - Melbourne
# Sagar Chaudhari - Melbourne
# Sharath Chandran - Melbourne
# Rudolph Almeida - Melbourne
#
- name: Install pip
become: yes
apt:
name: ['python3-pip']
state: latest
update_cache: yes
when: ansible_distribution == "Ubuntu"
- name: Update pip
become: yes
pip:
name: ['pip']
state: latest
- name: Clone harvester git repo
git:
repo: https://gitlab.eng.unimelb.edu.au/shekherm/comp90024-project-group21.git
dest: /home/ubuntu/CCC2020-Group21
accept_hostkey: yes
- name: start stream harvester
shell: python3 ~/CCC2020-Group21/harvester/streamer.py &
- name: start search harvester
shell: python3 ~/CCC2020-Group21/harvester/scraper.py SAG "$(head -n1 queries.txt| tail-1)" &>/dev/null &
\ No newline at end of file
{
"_id": "_design/analysis",
"_rev": "48-7682b380d1c6bef39a5f2a1d7d96ff4c",
"views": {
"daniel": {
"reduce": "_count",
"map": "function (doc) {\n if(doc.Daniel_Andrews>0)\n emit(doc.Daniel_Andrews, doc.sentiment);\n}"
},
"gladys": {
"reduce": "_count",
"map": "function (doc) {\n if(doc.Gladys_Berejiklian>0)\n emit(doc.Gladys_Berejiklian, doc.sentiment);\n}"
},
"mark": {
"reduce": "_count",
"map": "function (doc) {\r\n if(doc.Mark_McGowan>0)\r\n emit(doc.Mark_McGowan, doc.sentiment);\r\n}"
},
"steven": {
"reduce": "_count",
"map": "function (doc) {\r\n if(doc.Steven_Marshall>0)\r\n emit(doc.Steven_Marshall, doc.sentiment);\r\n}"
},
"peter": {
"reduce": "_count",
"map": "function (doc) {\r\n if(doc.Peter_Gutwein>0)\r\n emit(doc.Peter_Gutwein, doc.sentiment);\r\n}"
},
"total": {
"reduce": "_sum",
"map": "function (doc) {\n emit(doc.id, 1);\n}"
},
"annastacia_negative": {
"reduce": "_count",
"map": "function (doc) {\n if(doc.Annastacia_Palaszczuk>0 && doc.sentiment==-1 )\n emit(doc.Annastacia_Palaszczuk, doc.sentiment);\n}"
},
"annastacia_positive": {
"reduce": "_count",
"map": "function (doc) {\n if(doc.Annastacia_Palaszczuk>0 && doc.sentiment==1 )\n emit(doc.Annastacia_Palaszczuk, doc.sentiment);\n}"
},
"daniel_negative": {
"reduce": "_count",
"map": "function (doc) {\n if(doc.Daniel_Andrews>0 && doc.sentiment==-1)\n emit(doc.Daniel_Andrews, doc.sentiment);\n}"
},
"daniel_positive": {
"reduce": "_count",
"map": "function (doc) {\n if(doc.Daniel_Andrews>0 && doc.sentiment==1)\n emit(doc.Daniel_Andrews, doc.sentiment);\n}"
},
"gladys_negative": {
"reduce": "_count",
"map": "function (doc) {\n if(doc.Gladys_Berejiklian>0 && doc.sentiment==-1)\n emit(doc.Gladys_Berejiklian, doc.sentiment);\n}"
},
"gladys_positive": {
"reduce": "_count",
"map": "function (doc) {\n if(doc.Gladys_Berejiklian>0 && doc.sentiment==1)\n emit(doc.Gladys_Berejiklian, doc.sentiment);\n}"
},
"annastacia": {
"reduce": "_count",
"map": "function (doc) {\n if(doc.Annastacia_Palaszczuk>0)\n emit(doc.Annastacia_Palaszczuk, doc.sentiment);\n}"
},
"mark_positive": {
"reduce": "_count",
"map": "function (doc) {\r\n if(doc.Mark_McGowan>0 && doc.sentiment==1)\r\n emit(doc.Mark_McGowan, doc.sentiment);\r\n}"
},
"mark_negative": {
"reduce": "_count",
"map": "function (doc) {\r\n if(doc.Mark_McGowan>0 && doc.sentiment==-1)\r\n emit(doc.Mark_McGowan, doc.sentiment);\r\n}"
},
"peter_negative": {
"reduce": "_count",
"map": "function (doc) {\r\n if(doc.Peter_Gutwein>0 && doc.sentiment==-1)\r\n emit(doc.Peter_Gutwein, doc.sentiment);\r\n}"
},
"peter_positive": {
"reduce": "_count",
"map": "function (doc) {\r\n if(doc.Peter_Gutwein>0 && doc.sentiment==1)\r\n emit(doc.Peter_Gutwein, doc.sentiment);\r\n}"
},
"steven_positive": {
"reduce": "_count",
"map": "function (doc) {\r\n if(doc.Steven_Marshall>0 && doc.sentiment==1)\r\n emit(doc.Steven_Marshall, doc.sentiment);\r\n}"
},
"steven_negative": {
"reduce": "_count",
"map": "function (doc) {\r\n if(doc.Steven_Marshall>0 && doc.sentiment==-1)\r\n emit(doc.Steven_Marshall, doc.sentiment);\r\n}"
}
},
"language": "javascript"
}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment