Jump to content

Recommended Posts

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!

Link to comment
https://forums.phpfreaks.com/topic/238334-would-php-be-good-for/
Share on other sites

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!

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?

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.

 

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.

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.

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!

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.

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.

 

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!

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.

 

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.

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.