回复内容:
我要发动一场战争,我是练枪好呢还是耍剑好呢?
学Java, 然后学 Lucene,http://lucene.apache.org/core/。
弱弱的问一句,Lucene也是搜索引擎吧,嘿嘿。
呵呵,这位朋友很有想法啊
不过有点可惜的是,搜索引擎的关键,并不在什么语言,而应该是在于它的算法核心
当然,算法也需要语言来表现,针对搜索算法对于性能的要求,C++应该是一个比PHP和Java更好的选择
用c++、java等等写搜索引擎都可以,关键是你要做成什么样的搜索引擎,仅仅是文档搜索还是那种互联网式的搜索引擎,还有你的数据量有多少,你要不要建立倒排索引(10万以下的索引量推荐就不要建立倒排索引了),你的爬虫要怎么写,多久更新一次索引,还有你是要支持纯英文的,还是中英文都支持的,你要是支持中文的,你得考虑你该如何对你抓下来得内容进行分词等等,所以语言什么的真的不是大问题,关键是你想做还是不想做的问题,以及想做到多好的问题
搜索引擎的规模和综合性通常大于你所说的C++,PHP,JAVA。这实际上不是一个应该讨论的问题。
推荐看udacity,他的一门CS101课就是用七周的时间从一个完全不会编程的人学会编写一个搜索引擎,用的是Python语言。有视频(需要翻墙),作业和考试。
http://www.udacity.com/overview/Course/cs101/CourseRev/apr2012
只会一种语言很难实现一个完备的搜索引擎,因为搜索引擎是个多知识领域的综合体,每一种语言都有可能有其用武之地,所以C++,Java,Python, PHP都学学吧。
可以看看开源的搜索引擎,Nutch,httpclient,lucene等东西
http://udacity.com/
看看这个吧。CS101就是写一个简易的搜索引擎。用的语言是python。视频在墙外,你懂的 。