Beispiel #1
0
    def test_type(self):
        f = filters.TypeFilter(type=self.document_type)
        q = Search(filter=f)
        print self.dump(q.serialize())
        result = self.conn.search(query=q, indices=self.index_name,
                                  doc_types=[])
        self.assertEqual(2, len(result.hits))
        print result.hits
        self.assertItemsEqual([u'1', u'2'], [item._id for item in result.hits])

        f = filters.TypeFilter(type=self.internal_type)
        q = Search(filter=f)
        result = self.conn.search(query=q, indices=self.index_name,
                                  doc_types=[])
        self.assertEqual(1, len(result.hits))
        self.assertItemsEqual([u'4'], [item._id for item in result.hits])
Beispiel #2
0
    def test_type(self):
        f = filters.TypeFilter(type=self.document_type)
        q = Search(filter=f)
        print self.dump(q.serialize())
        result = self.conn.search(query=q,
                                  indices=self.index_name,
                                  doc_types=[])
        self.assertEqual(2, len(result.hits))
        print result.hits
        self.assertItemsEqual([u'1', u'2'], [item._id for item in result.hits])

        f = filters.TypeFilter(type=self.internal_type)
        q = Search(filter=f)
        result = self.conn.search(query=q,
                                  indices=self.index_name,
                                  doc_types=[])
        self.assertEqual(1, len(result.hits))
        self.assertItemsEqual([u'4'], [item._id for item in result.hits])
Beispiel #3
0
ftrans = FormatTranslator()

# 1. Create Connection
conn = ES()

# 2. Index Data
dataset_json = open("../dataset.json")
dataset = json.load(dataset_json)['data']
for data in dataset:
    conn.index(data, "example_index", "example_type",
               "example_id_" + str(dataset.index(data)))

# 3. Create Simple Query
query = MatchAllQuery()

# 4. Create Simple Aggregation
agg = TermsAgg('agg1', field="name", sub_aggs=[], size=100)

# 5. Get Result
search = Search(query, size=5)
search.agg.add(agg)
print search.serialize()

result = conn.search(search, "example_index", "example_type")

for i in result:
    print json.dumps(i, indent=2)
print json.dumps(result.aggs, indent=2)

result._do_search()
print json.dumps(result._results, indent=2)
import json
from pyes import ES, Search
from pyes.aggs import TermsAgg, SumAgg, FilterAgg, DateHistogramAgg
from pyes.exceptions import IndexMissingException
from pyes.query import MatchAllQuery, BoolQuery, RangeQuery, ESRange, TermQuery
from pyes.filters import TermFilter, TermsFilter

match_all = MatchAllQuery()
sub_domain_agg = TermsAgg('domain_agg',
                          field='json_data.etp_domain_id',
                          size=20000)
client_agg = TermsAgg('client_agg',
                      field='json_data.etp_client_id',
                      sub_aggs=[sub_domain_agg],
                      size=20000)

search_query = Search(query=match_all, size=0)
search_query.agg.add(client_agg)

print(json.dumps(search_query.serialize(), indent=2))
ftool = FileTools()
ftrans = FormatTranslator() 
  
# 1. Create Connection
conn = ES()
  
# 2. Index Data
dataset_json = open("../dataset.json")
dataset = json.load(dataset_json)['data']
for data in dataset:
    conn.index(data, "example_index", "example_type", "example_id_"+str(dataset.index(data)))
      
# 3. Create Simple Query
query = MatchAllQuery()
  
# 4. Create Simple Aggregation
agg = TermsAgg('agg1', field="name",sub_aggs=[],size=100)
  
# 5. Get Result
search = Search(query,size=5)
search.agg.add(agg)
print search.serialize()
  
result = conn.search(search, "example_index", "example_type" )
  
for i in result:
    print json.dumps(i,indent=2)
print json.dumps(result.aggs,indent=2)
  
result._do_search()
print json.dumps(result._results,indent=2)