Skip to content

Instantly share code, notes, and snippets.

@rauanmayemir
Created July 4, 2012 13:42
Show Gist options
  • Save rauanmayemir/7bec046605fcc9ec8aac to your computer and use it in GitHub Desktop.
Save rauanmayemir/7bec046605fcc9ec8aac to your computer and use it in GitHub Desktop.
#!/bin/sh
curl -XDELETE 'http://localhost:9200/rustest' && echo
curl -XPUT 'http://localhost:9200/rustest' -d '{
"settings": {
"analysis": {
"analyzer": {
"default": {
"type": "custom",
"tokenizer": "standard",
"filter": ["lowercase", "russian_stemmer", "russian_morphology", "english_morphology", "my_stopwords"]
}
},
"filter": {
"my_stopwords": {
"type": "stop",
"stopwords": "а,без,более,бы,был,была,были,было,быть,в,вам,вас,весь,во,вот,все,всего,всех,вы,где,да,даже,для,до,его,ее,если,есть,еще,же,за,здесь,и,из,или,им,их,к,как,ко,когда,кто,ли,либо,мне,может,мы,на,надо,наш,не,него,нее,нет,ни,них,но,ну,о,об,однако,он,она,они,оно,от,очень,по,под,при,с,со,так,также,такой,там,те,тем,то,того,тоже,той,только,том,ты,у,уже,хотя,чего,чей,чем,что,чтобы,чье,чья,эта,эти,это,я,a,an,and,are,as,at,be,but,by,for,if,in,into,is,it,no,not,of,on,or,such,that,the,their,then,there,thesethey,this,to,was,will,with"
},
"english_stemmer": {
"type": "snowball",
"language": "English"
},
"russian_stemmer": {
"type": "snowball",
"language": "Russian"
}
}
}
}
}' && echo
curl -XPUT 'http://localhost:9200/rustest/type1/_mapping' -d '{
"type1": {
"properties" : {
"body" : { "type" : "string"}
}
}
}' && echo
curl -XPUT 'http://localhost:9200/rustest/type2/_mapping' -d '{
"type1": {
"properties" : {
"body" : { "type" : "string"}
}
}
}' && echo
curl -XPUT 'http://localhost:9200/rustest/type3/_mapping' -d '{
"type1": {
"properties" : {
"body" : { "type" : "string"},
"optional": { "type": "nested",
"properties" : {
"title": { "type" : "string"}
}
}
}
}
}' && echo
curl -XPUT 'http://localhost:9200/rustest/type1/1' -d '{"body": "У московского бизнесмена из автомобиля украли паровозик, щелкунчик, пистолетик и шесть миллионов рублей "}' && echo
curl -XPUT 'http://localhost:9200/rustest/type1/2' -d '{"body": "Креативное агентство Jvision, запустило сервис, способствующий развитию автомобильного туризма в России."}' && echo
curl -XPUT 'http://localhost:9200/rustest/type1/3' -d '{"body": "Просто авто"}' && echo
curl -XPUT 'http://localhost:9200/rustest/type1/4' -d '{"body": "Японские автомобили вновь заняли в США первые места в рейтингах"}' && echo
curl -XPUT 'http://localhost:9200/rustest/type1/5' -d '{"body": "Январский дефицит платежного баланса Японии превысил $5 млрд"}' && echo
curl -XPUT 'http://localhost:9200/rustest/type1/6' -d '{"body": "Японская корпорация Sony представила новый смартфон под названием Xperia Sola."}' && echo
curl -XPOST 'http://localhost:9200/rustest/_refresh' && echo
echo "Should return 5"
curl -s 'http://localhost:9200/rustest/type1/_search?pretty=true' -d '{"query": {"query_string": {"query": "body:Япония"}}, "fields":["_id"]}' | grep "_id"
#Check stemming
echo "Should return 1"
curl -s 'http://localhost:9200/rustest/type1/_search?pretty=true' -d '{"query": {"query_string": {"query": "body:паровоз"}}, "fields":["_id"]}' | grep "_id"
echo "Should return 1"
curl -s 'http://localhost:9200/rustest/type1/_search?pretty=true' -d '{"query": {"query_string": {"query": "body:щелкун"}}, "fields":["_id"]}' | grep "_id"
echo "Should return 1"
curl -s 'http://localhost:9200/rustest/type1/_search?pretty=true' -d '{"query": {"query_string": {"query": "body:пистолет"}}, "fields":["_id"]}' | grep "_id"
echo "Should return 4, 6"
curl -s 'http://localhost:9200/rustest/type1/_search?pretty=true' -d '{"query": {"query_string": {"query": "body:Японский"}}, "fields":["_id"]}' | grep "_id"
echo "Should return 4"
curl -s 'http://localhost:9200/rustest/type1/_search?pretty=true' -d '{"query": {"query_string": {"query": "body:первый"}}, "fields":["_id"]}' | grep "_id"
echo "Should return 1, 4"
curl -s 'http://localhost:9200/rustest/type1/_search?pretty=true' -d '{"query": {"query_string": {"query": "body:автомобиль"}}, "fields":["_id"]}' | grep "_id"
echo "Should return 2"
curl -s 'http://localhost:9200/rustest/type1/_search?pretty=true' -d '{"query": {"query_string": {"query": "body:автомобильный"}}, "fields":["_id"]}' | grep "_id"
echo "Should return 3"
curl -s 'http://localhost:9200/rustest/type1/_search?pretty=true' -d '{"query": {"query_string": {"query": "body:авто"}}, "fields":["_id"]}' | grep "_id"
echo "Should return 1,2,3,4"
curl -s 'http://localhost:9200/rustest/type1/_search?pretty=true' -d '{"query": {"query_string": {"query": "body:авто*", "analyze_wildcard": true}}, "fields":["_id"]}' | grep "_id"
curl -XPUT 'http://localhost:9200/rustest/type2/1' -d '{"body": "Curiously enough, the only thing that went through the mind of the bowl of petunias as it fell was Oh no, not again."}' && echo
curl -XPUT 'http://localhost:9200/rustest/type2/2' -d '{"body": "Many people have speculated that if we knew exactly why the bowl of petunias had thought that we would know a lot more about the nature of the Universe than we do now."}' && echo
curl -XPUT 'http://localhost:9200/rustest/type2/3' -d '{"body": "Не повезло только кашалоту, который внезапно возник из небытия в нескольких милях над поверхностью планеты."}' && echo
curl -XPUT 'http://localhost:9200/rustest/type3/1' -d '{"body": "Curiously enough", "optional": [{"title": "Не повезло только кашалоту, который внезапно возник из небытия в нескольких милях над поверхностью планеты."}]}' && echo
curl -XPOST 'http://localhost:9200/rustest/_refresh' && echo
echo "Should return 3"
curl -s 'http://localhost:9200/rustest/type2/_search?pretty=true' -d '{"query": {"query_string": {"query": "кашалот", "analyze_wildcard": true}}, "fields":["_id"]}' | grep "_id"
echo "Should return 1"
curl -s 'http://localhost:9200/rustest/type2/_search?pretty=true' -d '{"query": {"query_string": {"query": "body:go", "analyze_wildcard": true}}, "fields":["_id"]}' | grep "_id"
echo "Should return 2"
curl -s 'http://localhost:9200/rustest/type2/_search?pretty=true' -d '{"query": {"query_string": {"query": "body:thinking", "analyze_wildcard": true}}, "fields":["_id"]}' | grep "_id"
#Check nested
echo "Should return 1"
curl -s 'http://localhost:9200/rustest/type3/_search?pretty=true' -d '{"query": {"query_string": {"query": "кашалот", "analyze_wildcard": true}}, "fields":["_id"]}' | grep "_id"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment