Skip to content

Instantly share code, notes, and snippets.

@kakaner
kakaner / gbq_to_pandas_ex.py
Last active May 31, 2020 22:55
BigQuery to Pandas Dataframe example
# After you create your virtual environment
# pip3 install pandas
# pip3 install pandas-gbq
import pandas as pd
query = """
SELECT * FROM bigquery-public-data.chicago_crime.crime LIMIT 100
"""
@kakaner
kakaner / AugmentedSearchFields.java
Last active January 20, 2016 01:11
CLASSES WITH (kind of non trivial) LAMBDAS AS PARAMETERS LMAOOOOOOOOOOOO LAWLZ ROFLMAOjava
@FunctionalInterface
interface FieldExtractor<T> {
ArrayList<String> extract(T doc);
}
public class AugmentedSearchField<T> {
private String name;
private FieldExtractor<T> fieldExtractor;
@kakaner
kakaner / 907_video_get.json
Last active December 28, 2015 13:49
Elasticsearch document existence inconsistencies example
HOST:9200/messages_2010_04/video/907
{
_index: "messages_2010_04",
_type: "video",
_id: "907",
exists: false
}
@kakaner
kakaner / gist:6779948
Created October 1, 2013 15:07
ES matchAll + sort stack trace
Failed to execute phase [fetch], [reduce]
org.elasticsearch.action.search.ReduceSearchPhaseException: Failed to execute phase [fetch], [reduce]
at org.elasticsearch.action.search.type.TransportSearchQueryThenFetchAction$AsyncAction.finishHim(TransportSearchQueryThenFetchAction.java:177)
at org.elasticsearch.action.search.type.TransportSearchQueryThenFetchAction$AsyncAction$3.onResult(TransportSearchQueryThenFetchAction.java:155)
at org.elasticsearch.action.search.type.TransportSearchQueryThenFetchAction$AsyncAction$3.onResult(TransportSearchQueryThenFetchAction.java:149)
at org.elasticsearch.search.action.SearchServiceTransportAction.sendExecuteFetch(SearchServiceTransportAction.java:343)
at org.elasticsearch.action.search.type.TransportSearchQueryThenFetchAction$AsyncAction.executeFetch(TransportSearchQueryThenFetchAction.java:149)
at org.elasticsearch.action.search.type.TransportSearchQueryThenFetchAction$AsyncAction$2.run(TransportSearchQueryThenFetchAction.java:136)
at java.util.concurrent.ThreadPoolExec
def wrapper[T1 <: AnyRef, T2 <: AnyRef : Reads](active:Boolean, endpoint:ESSearch[T1]):SearchWrapper = {
val json = Json.parse(results)
val hits = (json \ "hits" \ "hits" \\ "source").map(_.as[T2])
val numHits = (json \ "hits" \ "total").as[Int]
val facets = (json \ "facets").as[Seq[SearchFacet]]
val end = min(numHits, limit*page)
val adjstart = min(numHits, start) + 1
val numpages = ceil(numHits/limit).toInt + 1
SearchWrapper(numHits, adjstart, end, min(numpages, page), numpages, {if (active) andFilter else Map[String, String]() }, facets)