freiheit Posted June 3, 2011 Share Posted June 3, 2011 Hello everyone! Thanks for reading! I have an idea which I think is a stupendous idea but Im not sure which language I need to learn. After doing some research I believe that PHP may be a good choice but I thought I should ask the experts before I spend months learning only to find out it is not exactly what I need. So I have an idea for a pretty good niche search engine that I would like to build myself. I have read suggestions from several different places that PHP might be a good language to start with in building a search engine, does anyone here think that is a smart starting place or is another language such as perl, python etc. a better route to start with? Thanks for the answers! Quote Link to comment Share on other sites More sharing options...
realneo Posted June 3, 2011 Share Posted June 3, 2011 What I think is, PHP works perfect in search engines but the question is where do you want to run your search engine? 1. Web Browsers ( Internet explorer , firefox, chrome, opera) 2. Stand alone application ( Windows .exe or Mac App) 3. Mobile Software??? and so on? => PHP will work best in Web Browsers. I think that why it was even created. Hope this helps! Quote Link to comment Share on other sites More sharing options...
freiheit Posted June 3, 2011 Author Share Posted June 3, 2011 Yes what I want to do is run the created search engine the same way google is run. You type in the search engines address, and search from your browser. As an added thought is it possible to use google results in my search engine but limit the results only to keywords that I specify? Example: Someone searches sugar in google they get everything about sugar. what Im looking to do is create a search engine that is more specific to a niche so that if someone searched sugar from my search engine they would get every result that had sugar only if it also had a key word of baking or recipes. Does that make sense? Quote Link to comment Share on other sites More sharing options...
realneo Posted June 3, 2011 Share Posted June 3, 2011 Well Problem Solved! PHP is fantastic for dynamic web pages such as engine! NOTE::::::> PHP will not interact dynamically as you write like google. So I would suggest PHP & AJAX or jQuery. With these you can create a real dynamic search engine. Quote Link to comment Share on other sites More sharing options...
ignace Posted June 3, 2011 Share Posted June 3, 2011 More important will be the database and -engine you'll use to store and retrieve the information from. For example if you go for MySQL, you would want to use MyISAM for it's FULLTEXT indexing. But if your searches are fulltext anyway then Lucene may be a better alternative? PHP is then just the middle-man to display the search results. SE typically have lots of text queries, no simple ID-select, so DB performance is critical. Quote Link to comment Share on other sites More sharing options...
realneo Posted June 3, 2011 Share Posted June 3, 2011 More important will be the database and -engine you'll use to store and retrieve the information from. For example if you go for MySQL, you would want to use MyISAM for it's FULLTEXT indexing. But if your searches are fulltext anyway then Lucene may be a better alternative? PHP is then just the middle-man to display the search results. SE typically have lots of advanced queries so DB performance is critical. Absolutely right! The database is also among the important choices. PHP works best with MySQL. Quote Link to comment Share on other sites More sharing options...
ignace Posted June 3, 2011 Share Posted June 3, 2011 PHP works best with MySQL. Works best? PHP can work with any DB not just MySQL nor is PHP optimized to perform better when using MySQL as a back-end. Quote Link to comment Share on other sites More sharing options...
freiheit Posted June 3, 2011 Author Share Posted June 3, 2011 Ok so its sounding like I will need to learn a few different languages, Awesome I love learning! Can anyone suggest the process order I should use for my self education? What I mean is Should I learn Some PHP then some AJAX then some MySQL etc etc Or Should I Learn ALOT of PHP then Alot of AJAX and alot of MySQL and alittle jQuery before I begin with the first version? Or is there some other way I should go about the learning process? Thanks Again everyone has been so helpful! Quote Link to comment Share on other sites More sharing options...
Philip Posted June 3, 2011 Share Posted June 3, 2011 SE typically have lots of text queries, no simple ID-select, so DB performance is critical. Yup, ignace is correct. You're really going to want to focus on the database and design it well from the get-go. MySQL is not the only DB that PHP plays nicely with. There are many, many others. Also, look into something like Sphinx to help boost speed. Quote Link to comment Share on other sites More sharing options...
ignace Posted June 3, 2011 Share Posted June 3, 2011 PHP and MySQL, but only the very basics since you don't know if PHP/MySQL is the way to go. Like I stressed and KingPhilip mentioned: your DB is the key part here. Quote Link to comment Share on other sites More sharing options...
ignace Posted June 3, 2011 Share Posted June 3, 2011 Your adventure has only yet started and you already have 3 options: MySQL, Lucene, or Sphinx? And that's only scratching the surface when it comes to selecting a DB Quote Link to comment Share on other sites More sharing options...
realneo Posted June 3, 2011 Share Posted June 3, 2011 I think the best way to learn is to really concentrate one thing at a time. Begin with PHP (Know all the variable, arrays , strings, function and the rest). Then MySQL(This is very simple, know all the CRUD (CREAT, READ, UPDATE, DELETE)) With the above two languages. You can create almost any website, the only thing that will be missing is the dynamic look thats where you will learn AJAX or jQuery. NOTE::::> Also learn how relational databases work. I guess the rest will develop as you continue your journey. Quote Link to comment Share on other sites More sharing options...
freiheit Posted June 3, 2011 Author Share Posted June 3, 2011 Thanks everyone I have received more help then I honestly expected ( most forums dont like newbs) So if I understand correctly I should learn PHP until I have a strong but basic understanding of it then learn MySQL to the same degree. After I have made it that far I should begin shopping for the best language for a database using what I have learned. Can anyone suggest the best place to begin learning PHP for someone with absolutely no coding experience and computer experience relative to a soccer mom? I defiantly will continue seeking help in this forum since everyone has been so great but Im sure this community will appreciate me having an education resource other then posting newb question every 10 minutes 6 hours a day. Thanks again so much! Quote Link to comment Share on other sites More sharing options...
atrum Posted June 3, 2011 Share Posted June 3, 2011 I got my start at w3schools.com. I know they do have some bad information, but their php section at least teaches you the bare bones basics. Quote Link to comment Share on other sites More sharing options...
Philip Posted June 4, 2011 Share Posted June 4, 2011 Like I tell everyone, the best way to learn IMO is to go here and start looking at other's problems - this of course is after you learn the basics. Some other good places: Our homepage has some good tuts tiztag and of course... the PHP manual Quote Link to comment Share on other sites More sharing options...
The Little Guy Posted June 4, 2011 Share Posted June 4, 2011 I would use MySQL with the sphinx engine, It is fast from what I have done when I worked with it. I have a search engine with 1.5 million rows at the moment, and it searches in less than a second. View here: http://24.179.144.72:4444/Nebala/ Quote Link to comment Share on other sites More sharing options...
realneo Posted June 4, 2011 Share Posted June 4, 2011 Well The best way to first learn is by seeing and hearing at the same time.(with a teacher) Lynda.com has some amazing php courses. You could find them on torrents but I am not sure if its legal. If your a complete new to programming I would suggest first to find courses where a teacher explains. When you thing you know enough then turn in to books. Quote Link to comment Share on other sites More sharing options...
ignace Posted June 4, 2011 Share Posted June 4, 2011 Indeed, you will learn more by what you teach then any other forms of learning. My colleagues still don't understand why I try to give a presentation almost every once a week. Quote Link to comment Share on other sites More sharing options...
ignace Posted June 4, 2011 Share Posted June 4, 2011 View here: http://24.179.144.72:4444/Nebala/ Nice, I really like the way it loads the next page (and tells you the page you are on) when you scroll down Quote Link to comment Share on other sites More sharing options...
Web Developer Posted June 9, 2011 Share Posted June 9, 2011 Like I tell everyone, the best way to learn IMO is to go here and start looking at other's problems - this of course is after you learn the basics. You are absolutely right Philip........! Quote Link to comment Share on other sites More sharing options...
j.smith1981 Posted June 10, 2011 Share Posted June 10, 2011 MySQL I feel personally is the best of the free based server databases (if not the best). I mean the propietry ones (where you pay for a licence) are not exactly cheap, been years since I went around looking for say an Oracle Develper suite licence (when I was at University) and I found out they start over here at around £10,000 per year, but have absolutely no clue how much they are now. But with Oracle there's different levels of licencing for what you need like data-warehousing, where say Wolseley which are one of the say 5 companies in the UK with an actual solid Oracle licence (our works CMS and general work tool) is based on Oracle but through another company who hold the Oracle licence. I mean Wolseley have a huge database where all their stores sales go into one database and this department(s) download that information at a given time of the day (each day), as I have had a friend that works there on these such systems, developing database schema's for them. That's when you store all the information in one place then that keeps building up to a certain point when a department will (probably not to their knowledge of how it actually technically works) download that data and process it which ever way they see fit, or the application they use processes that information. Oracle is that expensive for that reason, it has been known that it is by far a much more integral database system, there is a free example of oracle you can install, it's based on their 10g version, but only allows you to have 1 database and there's some other limitations, can not exactly remember what they are though. Or if you go on a course at a University that does degree level information systems (yes there are degree's in databases) , you will most likely find they have an educational version of Oracle, a full licence based system where you can install it on your own computer (providing you have 10-15 Gb's of disk space, seriously its that big!) I mean one of the integral parts of Oracle is you must on every table specify a Unique ID (primary key) for every table you create or the SQL editor called SQL* Plus will reject your commands. I have personally done some entry level based work in my 2nd level at University, both in MySQL and Oracle, like one of the difference between the 2, is the following command in mySQL to drop any dependant data in InnoDB, you'd use: DROP TABLE <tablename> cascade; In oracle this is like using the command: DROP TABLE <tablename> cascade constraints; Just thought I would give a very small intro into the differences, but the overhead of Oracle is huge, that's why it costs so much for a licence for it, but it probably can hold a whole lot more data and it does that because it's used for business purposes, MySQL does cut across this but won't allow you to use any type of data warehousing capabilities for example. Infact the default user they give you just as an example is username 'scott' and the password 'tiger'. Scott was one of the first developers at Oracle and his cat was called Tiger, bit of useless information for you. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.