Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

View mattweber's full-sized avatar

Matt Weber mattweber

View GitHub Profile
index:
analysis:
analyzer:
string_lowercase:
tokenizer: keyword
filter: lowercase
curl -XPUT 'http://localhost:9200/testing' -d '{
"mappings" : {
"testa" : {
"_source" : {
"enabled" : true
},
"properties" : {
"field1" : {"type" : "string", "store" : "yes"},
"field2" : {"type" : "string", "store" : "yes"}
}
curl -XGET 'http://localhost:9200/test/_search?pretty=true' -d '{
"query":{
"bool":{
"should": [
{
"constant_score":{
"filter" : {
"query":{
"query_string":{
"query":"findme",
@mattweber
mattweber / query
Created February 22, 2012 21:36
NOT WITHIN queries in ElasticSearch
## For comment on
## http://www.romseysoftware.co.uk/2012/02/20/not-within-queries-lucene
##
{
"query":{
"span_not":{
"include": {
"span_term": {"FIELD":"fish"}
},
@mattweber
mattweber / README
Last active December 13, 2015 22:19
Using ElasticSearch To Find The Best Time To Ask Questions on StackOverflow
Use extractDocs.py to parse and index the StackOverflow posts.xml file into an existing index.
Usage: extractDocs.py [options] file
Options:
-h, --help show this help message and exit
-s SERVER, --server=SERVER
ElasticSearch Server
-i INDEX, --index=INDEX
Index name to use

Keybase proof

I hereby claim:

  • I am mattweber on github.
  • I am mrweber (https://keybase.io/mrweber) on keybase.
  • I have a public key whose fingerprint is F5DF 97DB 70D1 6E14 2282 4539 A504 BE51 687C 61EA

To claim this, I am signing this object:

@mattweber
mattweber / MinMaxMissingIntergationTest.java
Last active November 9, 2019 16:30
Elasticsearch 7.4.2 min/max aggregation with missing value returns invalid results
package co.webertech.search;
import static org.elasticsearch.cluster.metadata.IndexMetaData.SETTING_NUMBER_OF_REPLICAS;
import static org.elasticsearch.cluster.metadata.IndexMetaData.SETTING_NUMBER_OF_SHARDS;
import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertHitCount;
import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertSearchResponse;
import static org.hamcrest.core.Is.is;
import org.elasticsearch.Version;
import org.elasticsearch.action.admin.cluster.node.info.NodesInfoResponse;
@mattweber
mattweber / synstest.sh
Last active January 8, 2021 13:20
Multi-word query time synonyms in elasticsearch.
# delete old index if exists
curl -XDELETE 'http://localhost:9200/syns?pretty'
# create index with synonym analyzer and mapping
curl -XPUT 'http://localhost:9200/syns?pretty' -d '{
"settings" : {
"number_of_replicas": 0,
"number_of_shards": 1,
"index": {
"analysis": {
@mattweber
mattweber / README.txt
Created March 1, 2012 04:09
ElasticSearch Multi-Select Faceting Example
This is an example how to perform multi-select faceting in ElasticSearch.
Selecting multiple values from the same facet will result in an OR filter between each of the values:
(facet1.value1 OR facet1.value2)
Faceting on more than one facet will result in an AND filter between each facet:
(facet1.value1 OR facet1.value2) AND (facet2.value1)
I have chosen to update the counts for each facet the selected value DOES NOT belong to since we are performing an AND between each facet. I have included an example that shows how to keep the counts if you don't want to do this (filter0.sh).