It index JSON data and provide REST end-point so you can expose it to any HTTP client system. I have a lot of faith in it that it won't be as lame as SQL full text search.
Guess what, Azure also jump in the Full Text Search engine PaaS as well, it is called Azure Search. It is too early judge or compare with its competitor like Elasticsearch, which is 4 years older. So don't expect to see huge amount of configuration and multi languages analysis support, beside English. The only feature that AS has but ES doesn't is, AS come with authorization feature build-in. It is available in Azure as preview version today, and you can try it for free as long as you have an active Azure subscription. It index JSON data and provide REST end-point so you can expose it to any HTTP client system. I have a lot of faith in it that it won't be as lame as SQL full text search. I did not find any low level technical document about AS yet to see what architecture platform that AS is based from. My speculation is more or less came from Apache Solr. Because there are number of features describe in Azure web page are very close to what Apache Solr does. Private search engine is seem to be the new thing for cloud computing provider to show off. I am waiting for Amazon and Google to come up with their own one.
0 Comments
The term "poor man" might not be entirely truth, because we can run ElasticSearch in huge cluster that contain multiple big fat nodes on premise or cloud. But for me, I am a poor man and I ran it on my laptop as 1 tiny skinny cluster of 1 node. Kidding a side, what is Elastic Search? I see it as a super duper configurable Search Engine system that was designed and developed for real-time indexing free form structure of JSON data and provide a very sophisticated full text search functionality. It was developed base on Apace Solr (blazing fast open source enterprise search platform from the Apache Lucene project). For a smart Search Engine, user expect system to be able to compare word base on its original natural language form: Example: Countries ~ Country; Go ~ Went ~ Gone; Swim ~ Swimming; so on and so forth. In version 1.X ElasticSearch supports: arabic, armenian, basque, brazilian, bulgarian, catalan, chinese, czech, danish, dutch, english, finnish, french, galician, german, greek, hindi, hungarian, indonesian, irish, italian, norwegian, persian, portuguese, romanian, russian, sorani, spanish, swedish, turkish, thai. I came across this technology because I was looking for full text search system that are using my favorite string comparison algorithms Levenshtein distance. Here is the step to get start in Window
One of the RESTful rule is to properly utilize HTTP methods: Get, Post, Put, Delete. Where Get is used for retrieving data from server; Post or Put is for creating or updating object. Once a while I ran into a problem where I need to run a query with a long complex filter expression (or criteria). It is very difficult to describe the entire filter express in URI query string. Even worse, the length of that filter is exceed 20XX character, My point is, it is very loooong. I cannot instead just send the filter expression in HTTP message body, if I want to be a good REST citizen by utilizing GET HTTP method for this query request. So I have to use either Post or Put method in order send the filter in message body. Some cool kids suggest me to revise my query again, try to split it into smaller, simple until. That's sound like a good idea, but I don't want to run multiple requests and then aggregate result at client. Please help me share your experience on how you used to solved this kind of problem. I am sure RESTful police is looking to capture me, because I violate this rule. |
AuthorEnjoy my day working as a software developer, love writing code, landscaping photography and hiking. Archives
April 2015
Categories
All
|