我们有一个广告搜索网站,所有搜索都是通过直接查询sql server数据库的实体框架完成的。
当数据库有大约1000个广告时,它运行得非常好,但现在它达到了300k并且有很多用户正在搜索。现在搜索速度非常慢(使用原始sql并没有多大帮助)我被指示考虑使用Elasticsearch。
我已经有了一些教程,我现在知道它是如何工作的,但我不知道的是:
有人会更好地向我解释这些问题吗?
答案 0 :(得分:1)
1-你仍然可以使用它;你不想搜索完整的数据库吗?就在广告上面。它使用no-sql格式,因此它具有很高的可扩展性。它也可以与json一起使用,因此您可以轻松访问它。
2-索引数据时,您应该尝试在同一个文档(sql行)中添加完整的必要数据,这是一个单独的json,但是以有限的方式。存储很便宜,但计算时间不是。
要索引数据,您可以使用filebeat
,一个类似于logstash的程序,或创建自己的解决方案,例如,创建一个从数据库读取数据的程序,然后将其传递给elasticsearch in块材。
3-正确,300k行数量很少,但它也取决于您托管elasticsearch的内存。
希望这有帮助。