Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 结合结构化条件和freetext关键字/短语进行搜索-NOSQL vs Lucene/Sphinx_Mysql_Mongodb_Lucene_Sphinx_Nosql - Fatal编程技术网

Mysql 结合结构化条件和freetext关键字/短语进行搜索-NOSQL vs Lucene/Sphinx

Mysql 结合结构化条件和freetext关键字/短语进行搜索-NOSQL vs Lucene/Sphinx,mysql,mongodb,lucene,sphinx,nosql,Mysql,Mongodb,Lucene,Sphinx,Nosql,我们有一个主要基于~500k行MySQL主表的eMall应用程序(其中详细表存储不可搜索的字段和其他包含店铺信息的相关表等) 用户现在可以根据特定的结构化产品数据(例如品牌、类别、价格、特定店铺等)进行搜索 我们还希望结合结构化数据支持关键字搜索 我们还希望提高应用程序的性能,并正在考虑我们的基础设施选项,以实现关键字搜索的功能要求和提高速度的技术要求: Lucene、Sphinx等为所有产品编制索引? 在MySQL前面用作中间缓存层的NoSQL db(mongo、Coach等)? 用NOSQL

我们有一个主要基于~500k行MySQL主表的eMall应用程序(其中详细表存储不可搜索的字段和其他包含店铺信息的相关表等)

用户现在可以根据特定的结构化产品数据(例如品牌、类别、价格、特定店铺等)进行搜索

我们还希望结合结构化数据支持关键字搜索

我们还希望提高应用程序的性能,并正在考虑我们的基础设施选项,以实现关键字搜索的功能要求和提高速度的技术要求:

Lucene、Sphinx等为所有产品编制索引? 在MySQL前面用作中间缓存层的NoSQL db(mongo、Coach等)? 用NOSQL数据库取代MySQL

以上的组合

就Lucene和Sphinx而言,他们在组合结构化标准方面有多灵活?或者我们需要先运行文本搜索,然后在mySQL上使用第二个结构化查询过滤结果吗

从你自己的经历中学到的任何提示或教训都是非常受欢迎的


提前感谢

我建议您使用-它支持基于Lucene的关键字搜索。您可以对结构化产品数据使用面和过滤器。500K物品似乎是Solr可以轻松处理的尺寸。它可以被认为是一个NoSQL数据库,并且比纯Lucene更易于使用。您可以查看中的相关注意事项。

我建议您使用-它支持基于Lucene的关键字搜索。您可以对结构化产品数据使用面和过滤器。500K物品似乎是Solr可以轻松处理的尺寸。它可以被认为是一个NoSQL数据库,并且比纯Lucene更易于使用。您可以查看中的相关注意事项。

我一直在使用Sphinx进行与您的要求类似的全文搜索(基于freetext和结构化属性进行搜索),MySQL中只有几GB的数据和500万行。我对性能和可靠性非常满意(甚至没有一次停机)


使用Sphinx的优点是它的目标是与MySQL一起使用,因此安装起来非常简单。通常情况下,您可以在不到一个小时内完成整个系统的准备工作,那么为什么不尝试一下呢?

我一直在使用Sphinx进行与您的要求类似的全文搜索(基于自由文本和结构化属性的搜索),MySQL中只有几GB的数据和500万行数据。我对性能和可靠性非常满意(甚至没有一次停机)


使用Sphinx的优点是它的目标是与MySQL一起使用,因此安装起来非常简单。通常情况下,您可以在不到一个小时的时间内完成整个系统的准备工作,那么为什么不尝试一下呢?

请参阅此链接以了解有关solr功能的更多信息-以及lucene查询语言:+1 for solr。你可以想做什么就做什么,然后再做一些。我唯一的建议是尽量减少运动部件。只是不要添加Nosql的东西,因为它们是“in”的东西。FWIW Solr应该足够了。非常感谢您的回复。我想我们必须用索尔和斯芬克斯做实验。我们将首先尝试Sphinx,因为它似乎更容易与我们已有的功能集成,但Solr也可能是一个合适的解决方案。请参阅此链接以了解更多有关Solr功能的信息-以及lucene查询语言:+1 for Solr。你可以想做什么就做什么,然后再做一些。我唯一的建议是尽量减少运动部件。只是不要添加Nosql的东西,因为它们是“in”的东西。FWIW Solr应该足够了。非常感谢您的回复。我想我们必须用索尔和斯芬克斯做实验。我们将首先尝试Sphinx,因为它似乎更容易与我们已经拥有的东西集成,但Solr也可能是一个合适的解决方案。