繁体   English   中英

分面搜索:ElasticSearch / Solr还是简单的数据库查询?

[英]Faceted search: ElasticSearch/Solr or a simple database query?

原谅来自搜索新手的这个超级基本问题。

我想实现一个利用多面搜索的网站。 例如,这是一个包含酒店数据库的网站,我希望允许用户搜索价格范围内带有三星级或四星级游泳池的酒店。

显然,我可以通过简单的数据库查询将结果返回给用户。

我应该使用ElasticSearch还是Solr来实现此目的,而不是使用数据库查询? 如果是这样,为什么?

是的,您应该使用ES或Solr。 原因:主要是性能和轻松更改(考虑配置)“构面类型”的能力。

构面并不是一件容易的事,尽管您可以使用RDBMS来完成,但要快速完成,就需要认真思考。 如果您可以使用Solr / ES(+ Lucene)团队花了数百万小时的时间来优化它,那么为什么自己动手做呢。

至于“刻面类型”,我提到:

  1. 也许您想进行分层构面。 选择价格类别>显示较小的价格类别。 如何分类:固定范围,均匀分布等。Solr/ ES从配置中提供这些选项。
  2. 也许您改为使用带有最小/最大手柄的滑块来实现价格方面? 您要在滑动时显示酒店的nr吗(SOlr / ES中的直方图/ facetstats)
  3. 当您遇到价格问题时,也许您仍然想知道priceslider的最小值和最大值,就好像您没有对价格进行过滤一样。 如果您希望能够按比例绘制滑块手柄,则需要这样做。 (请参阅有关SO的问题,作为考虑从Solr切换到ES的一部分: Elasticsearch:在可能的情况下排除过滤器?(例如Solr)
  4. 在星星上刻面? 如果用户选择某颗星,那么您可能希望显示每颗星的最佳价格(再次使用直方图/统计数据)

认真地说,甚至不要考虑使用RDBMS进行上述操作。 你会发疯的。

希望能对您有所帮助,是的,我对域名很熟悉:)

其他问题,只问。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM