M
M
MSAFT2016-01-07 07:42:21
Ruby on Rails
MSAFT, 2016-01-07 07:42:21

What programming language is metasearch most often written in?

I am doing a project for a tour operator.
At its core, it is somewhat reminiscent of aviasales, hotellook, chip.travel.
The only difference is that in addition to about 130 partners of this tour operator, there is also a product of its own.
The idea is simple, take the prices of all partners at the request of the user and give him the best one. If the user's request is in your product - issue your product without scanning partners.
Scanning everyone at once does not make sense, the request is filtered by criteria (from where the flight is, where we are flying). For any request, usually 5-6 partners need to be scanned. Therefore, the load is different if it were necessary to scan 130 partners at once.
I thought that usually such projects are entirely written in one language. Most often in PHP.
Having smoked this topic, in particular, having studied a little the aviasales project, I realized that the site and its functions are written in PHP, and the metasearch itself is implemented in RUBY.
With regards to PHP, there is a good base and some knowledge. But I have never encountered RUBY.
Vertska is completely ready. Design, I think, too. Here are some of my thoughts regarding the metasearch itself:
6839783b3bef47ea9bf1f3514bd0418b.png
But there are questions about the server side and about RUBY.
Questions:
1. Is metasearch most often implemented on RUBY?
2. Is it possible to perform the main functionality of the site in PHP, and the search itself in RUBY?
3. I came to the idea that for certain functions you need your own, separate DATABASES. Only dealt with MySQL. For such high-loaded projects, which databases are best to use?
4. Where to find a competent team of specialists (fl.ru; upwork?) and how to manage this project (Github?)? What are the best solutions? What is this project management system - https://www.youtube.com/watch?v=DCg-LGiWrKk (video "As they wrote aviasales")
5. Server part. Surely for such projects you need to buy your own cars. Is there any reason? Or is there a hosting solution for such tasks? How cool is a specialist server needed to set up this whole thing?
Thank you for your attention.

Answer the question

In order to leave comments, you need to log in

4 answer(s)
M
Max, 2016-01-07
@MSAFT

I bathed in this niche.
1, 2. Search can be done in PHP
3. Databases can also be done in SQL. PostgreSQL is quite capable of doing this. Depending on the functionality, you may need MemCached, Redis
4. Few sites with vacancies?) the same hh, for example. You can use the same GIT or SVN. Which one is more convenient
5. Not only for sure, but 100% will have to. The level of coolness of a specialist is determined by the tasks you set.
You also take into account that if you are going to display the services of partners, then you need to parse them. And you will not parse them with every user request, which means that you need to save this data somewhere with you. On the example of 6-10 I won’t say, but on the example of > 200 I’ll say for sure that there should be a huge number of caching layers, according to a bunch of parameters. The parser in this case can generally act as a separate project. Plus dynamic filters with dependent parameters, etc.
Will you pull the competition from TourIndex? :)))

D
Dimonchik, 2016-01-07
@dimonchik2013

1) neo4j 2
) sphinxsearch + facet

O
OnYourLips, 2016-01-07
@OnYourLips

1. Is metasearch most often implemented on RUBY?

It is implemented in the language that programmers who are experienced in such tasks know.
PHP is great for such tasks, and if the team knows it better than Ruby, then it is worth writing in it.

P
Pavel Ivanov, 2016-01-07
@eastywest

1. In Aviasales, metasearch was rewritten in Python/Tornado Fault tolerance on the example of aviasales
In the case of metasearch, I would look at tools with good concurrency support, such as golang.
2. Of course you can, just separate the metasearch into a separate service.
3. Relational databases are fine.
4. Git is used there.
5. Take servers on digitalocean.com or its analogues - vscale.io , flops.ru

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question