Solr or Elastic Search, which one we have to choose if we need customizablity along with scalability - solr

I am in a great confusion that which search engine I have to use for our site, azzist.com. It is a job site. We have around 30,000 professionals and 3000 employers. So not only customization of search, but also scalability is important to us.
this link helped me a lot. And also I refered this SO question. But still I can't make a decision. I am still in a confusion that which part I have to compromise. As a job site, which one I have to choose? Now we are using solr. But we need to improve the search results. Please help me.
I know this question will be closed soon, but there is no place for me to ask help.

Disclaimer: I am an elasticsearch employee.
I would say only: "just give elasticsearch a try and you will probably find the answer yourself after some hours or days."

www.jobbasket.co.uk
is built atop of SOLR, we tried Elastic Search at the time but ended up choosing SOLR due to it's ease of interaction with our development language and its maturity.

Related

How to understand the differences of Web Frameworks, Databases, and Libraries?

Where I stand: I am a junior in college. I have a solid background in Java and C++. I've been coding websites in JavaScript, HTML, CSS, and PHP (using MySql databases) since middle school. I have only just uncovered the magical box filled with these mysterious "frameworks."
My Predicament: After reading in my spare time wikis, blogs, and StackOverflow questions week after week for the past few months, I feel that I am no closer to understanding the items in this ominous list and how they relate to one another.
Yeoman, Grunt, Linemanjs, Bower
Nodejs, Go, PHP
Mongodb, Couchdb, MySql
Angularjs, Ember, Backbone
Terms like: boilerplate, scaffolding, frameworks, etc...
What I am asking: I understand that explaining any one of the above would be a question too big for a single Stack Overflow question, but that's not what I'm looking for. What I am looking for is a guide that explains in-depth what each of these groups are used for and if/how they can be combined (ex: using Angularjs with Nodejs). I am happy with a link if an article already exists, but I have yet to find an article that covers all of the above.
El Fin: I love learning new languages (especially for the web), but right now I feel like I'm blinded, running around in circles like a chicken with its head cut off. A shove in the right direction would be great :)
I'll put this in as an answer to help clarify why this is too broad.
I think that the GREAT BIG point you are missing is that there are specific reasons someone chooses a particular framework or server environment when they start a project.
This is all dependent of a boatload of things that like budget, knowledge, availability, expected scope of the project, etc... It also may come down to, "I'm starting this new project, what is available in this work environment for me to use?"
Then you don't really get to choose. You get what you get.
So what's the best package of technologies to use? That SO depends on what you're doing.
Example: If you are building a simple site for a local store that just needs a few pages, and you want to keep your costs low. A simple LAMP solution would work fine. But if you want to design the next Facebook, even though the core of the system could be build using all LAMP (and it in fact IS), you will need MUCH more powerful servers, and MUCH better and more efficient coding. Not to mention a boatload of server space for both the site AND the database.
In many cases, when you see people pooling together what might be considered obscure technologies, all they really break down to are collections of libraries. It's like choosing JQuery over some other JS library that essentially does the same thing. One may be better than the other. But you go with what you are comfortable with.
So, when you are asking about how, why, and in which way, do people combine technologies together, there is no way to answer that at all. Other than to say, it's specific to their needs. And that's about it.
Reading articles that compare all these different things together will only give you an idea of what they are capable of, and what their limitations are. In the end, it's always a matter of opinion what is better. Otherwise we would all be coding with the same thing.
For my part, I prefer PHP over ASP. I prefer working straight out of a text editor than using an IDE or any MVC framework. I use jQuery where it's needed, but don't over use it.
But that's just me.
And I'm sure this still didn't answer your question.

Graph Databases' Implementation

I am having trouble visualizing a Graph Database.
Visualizing an RDBMS is really very simple and I was able to understand from the first tutorial itself when I started learning it some 4-5 years ago.
But I am not able to understand Graph Databases.
I am also unable to get any good links on this topic, hence posting this question here.
Specifically, I am looking for the following:
Some really simple book/link on Graph Dbs
Atleast some knowledge on the implementation details of a Graph DB (I hope all Graph DBs would be having atleast a few basic things in common).
Thanks a lot in advance guys,
Protoge is your best bet to get started understanding ontologies.
IsaVis is a pretty common tool for visualizing you db.
Jena and Sesame are you best bets for implementations (both in java) but for prototyping python rocks and rdflib is the must use tool there.
There are plenty of others out there but those are my suggested entry vehicles. YMMV
Neo4j did a quite good job for me explaining the concept. Also starting with it to test is quite easy to do. You could start here:
http://neo4j.org/learn/

Android answer database

I am pretty new in this game so please do not judge me harshly.
So I need to build a question/answer database for an app.
The idea is simple:
User types a question and if I have an answer in my database, it gives an answer. If I do not have an answer, it goes for my manual moderation, so I can add new answers for the future.
I do not know if someone has already build a software like this and I can just buy one, or do I have to hire someone to build one from the ground. Which language should I use? Which software?
I know that Java, C++ and SQL are most popular languages for that type of jobs, but are they the best solution or there are better languages?
I need a database that can hold a really huge amount of data.
I would really appreciate any help guys!
and if any of you can build me this database, I do not mind to hire a freelancer.
Thank you!
Best Regards,
Ayazhan.
Yes you can do it.
if you have some knowledge in SQl then you can make an local Db in your app and consume it according to requirement. The simple question and answer app contains set of predefined questions.
The above link will help you to develop this app.

Building a website with "catalogue" pages

I want to build a website that has the ability to search for products based on certain criteria.
Websites like Newegg.com are a perfect example.
What I want is the part that allows the website to list the products on the website dynamically on its pages and if there are too many products to list it will create pages(1,2,3).
I want to find some resources onto how to do this kind of stuff but can't formulate my question right to find it. What are some of the good resources? Complete beginner, never done this.
For a beginner would you suggest using ASP.NET for such kind of task?
I recommand you to use PHP and MYSQL, it's easier and there are a lot of ressources and examples.
I will not suggest any programming languages. Which one is easier, is an matter of opinion and perspective. Its up to each developer to draw his own conclusion.
But for a new developer you should probably leverage some existing solutions. Look for a cms solutions (content management system) like joomla, that already have a solution for a use case like catalog listing.(Looking for samples will help)
For you to come up with a good enterprise solution, you need to optimize data store, have some mechanism like Lucene searching to enable faster searching experience and the complexity does not stop there. ( no matter what language you use)..

How to make a scaling project using CakePHP?

I wanto to know if there is some tutorials, books etc.
that explai how to make a scaling project using CakePHP
Here is a good article on how to speed up cakephp performance. Also take a look at the comments after the article.
http://www.pseudocoder.com/archives/2009/03/17/8-ways-to-speed-up-cakephp-apps/
I would look first at optimisation over scalability. CakePHP is very able to handle large applications and databases. But in answer to your question...
Try Googling "Cakephp scalability"
http://philip.greenspun.com/seia/scaling
http://www.rawseo.com/news/2009/06/25/better-ways-to-improve-php-application-performance/

Resources