eloone wrote a beatiful article on web sessions and I think that's a fine reading for everyone who wants to learn more about web sessions or for those who forgot its details.
Wednesday, May 3, 2017
Friday, April 21, 2017
org.openqa.selenium.WebDriverException: cannot get automation extension
In our current project, we write CI tests using Selenium. But several weeks has passed since I wrote a new test and there goes a nice exception while running the old ones.
Doesn't explain much, right?
I find the solution in upgrading my chrome driver.
org.openqa.selenium.WebDriverException: unknown error: cannot get automation extension
Doesn't explain much, right?
I find the solution in upgrading my chrome driver.
Thursday, September 22, 2016
I always thought that our use for Hibernate in projects is quite straightforward as a decision and very rarely we think if this is a good one or not. "How Hibernate Almost Ruined My Career" was quite a read and I recommend it to anyone who shouts "Hibernate" if there's some database-related stuff in the project in hand.
Saturday, January 16, 2016
I was checking the actual Elasticsearch Java Api and while I created a NodeClient with the api I got lots of exceptions which is frustrating because I just did a clean install and there's nothing complicated in my pom.xml.
These are exceptions I got with the following of a huge stacktrace of course.
These are exceptions I got with the following of a huge stacktrace of course.
java.lang.ClassNotFoundException: groovy.lang.GroovyClassLoader at java.net.URLClassLoader.findClass(URLClassLoader.java:381) ~[na:1.8.0_66] java.lang.ClassNotFoundException: com.github.mustachejava.Mustache at java.net.URLClassLoader.findClass(URLClassLoader.java:381) ~[na:1.8.0_66] java.lang.ClassNotFoundException: org.apache.lucene.expressions.Expression at java.net.URLClassLoader.findClass(URLClassLoader.java:381) ~[na:1.8.0_66] java.lang.ClassNotFoundException: com.sun.jna.Native at java.net.URLClassLoader.findClass(URLClassLoader.java:381) ~[na:1.8.0_66]So I made maven generate a dependency tree, checked dependencies in elasticsearch client parent pom and added the necessary dependencies one by one by hand. Note that these are for Elasticsearch 2.1.1. For the version of your dependencies you should check org.elasticsearch.elasticsearch pom of your version of Elasticsearch.
org.codehaus.groovy groovy-all 2.4.4 com.github.spullara.mustache.java compiler 0.8.13 org.apache.lucene lucene-expressions 5.3.1 net.java.dev.jna jna 4.1.0
Friday, September 25, 2015
elasticsearch for beginners part 1: how to create a document
In this Elasticsearch for beginners series, I will give you basics of Elasticsearch with real world examples. The first part is for teaching you how to create -that is index- a document in Elasticsearch.
I assume you managed to download the latest Elasticsearch zip to your local, extracted it and after that installed the marvel plugin and started a new node by running "elasticsearch" under your installation's bin directory.
Now it is time for some action. We can choose to give custom id to our document or leave it to Elasticsearch so we won't bother by generating a new one.
You can choose whatever content you want, but for keeping it simple I'll consider the usual user example. Our user will have a username, first name, last name and a contact phone.
Now lets open our Sense plugin. Go to "http://localhost:9200/_plugin/marvel/sense/index.html" after your node is up and running.
Before indexing anything I'll tell you that we will need an index and a type information.
Index is like a database and type is like a table if we use RDBMS analogies.
Please don't get confused over the meaning of index. Indexing a document is creating a document, index information of a document is its database.
Lets insert our first document with custom id. We will use "elastic_101" as index and "user" as type.
We can check if we are successful in indexing it.
The result to the following query
In this part of my Elasticsearch tutorial, we learnt how to create documents with custom or auto-generated id. You can have more in depth information in my Elasticsearch in Action course and this link will make a discount of 60%.
I assume you managed to download the latest Elasticsearch zip to your local, extracted it and after that installed the marvel plugin and started a new node by running "elasticsearch" under your installation's bin directory.
Now it is time for some action. We can choose to give custom id to our document or leave it to Elasticsearch so we won't bother by generating a new one.
You can choose whatever content you want, but for keeping it simple I'll consider the usual user example. Our user will have a username, first name, last name and a contact phone.
{
"username" : "kimchy",
"fist_name" : "kimchy",
"last_name" : "aloevera",
"phone" : "00905332446578"
}
Now lets open our Sense plugin. Go to "http://localhost:9200/_plugin/marvel/sense/index.html" after your node is up and running.
Before indexing anything I'll tell you that we will need an index and a type information.
Index is like a database and type is like a table if we use RDBMS analogies.
Please don't get confused over the meaning of index. Indexing a document is creating a document, index information of a document is its database.
Lets insert our first document with custom id. We will use "elastic_101" as index and "user" as type.
PUT /elastic_101/user/1
{
"username" : "kimchy",
"fist_name" : "kimchy",
"last_name" : "aloevera",
"phone" : "00905332446578"
}
We can check if we are successful in indexing it.
The result to the following query
GET elastic_101/user/_searchis
{
"took": 16,
"timed_out": false,
"_shards": {
"total": 5,
"successful": 5,
"failed": 0
},
"hits": {
"total": 1,
"max_score": 1,
"hits": [
{
"_index": "elastic_101",
"_type": "user",
"_id": "1",
"_score": 1,
"_source": {
"username": "kimchy",
"fist_name": "kimchy",
"last_name": "aloevera",
"phone": "00905332446578"
}
}
]
}
}
Now lets index a new document with autogenerated id.
POST /elastic_101/user/
{
"username" : "sezinkarli",
"fist_name" : "sezin",
"last_name" : "karli",
"phone" : "00905322426528"
}
Again let me check the result with
GET elastic_101/user/_searchResult is:
{
"took": 40,
"timed_out": false,
"_shards": {
"total": 5,
"successful": 5,
"failed": 0
},
"hits": {
"total": 2,
"max_score": 1,
"hits": [
{
"_index": "elastic_101",
"_type": "user",
"_id": "AVAFxb36kyTg7_oSOIVN",
"_score": 1,
"_source": {
"username": "sezinkarli",
"fist_name": "sezin",
"last_name": "karli",
"phone": "00905322426528"
}
},
{
"_index": "elastic_101",
"_type": "user",
"_id": "1",
"_score": 1,
"_source": {
"username": "kimchy",
"fist_name": "kimchy",
"last_name": "aloevera",
"phone": "00905332446578"
}
}
]
}
}
As you can see both users have a username, first name, last name and a phone. Notice that if for kimchy is 1 which is the one we gave it and the other id is "AVAFxb36kyTg7_oSOIVN" which is generated by Elasticsearch.In this part of my Elasticsearch tutorial, we learnt how to create documents with custom or auto-generated id. You can have more in depth information in my Elasticsearch in Action course and this link will make a discount of 60%.
Subscribe to:
Posts (Atom)