我准备在Heroku上部署一个需要全文search的Rails应用程序。 到目前为止,我已经使用MySQL和Sphinx在VPS上运行它。 但是,如果我想在Heroku上使用Sphinx或Solr,那么我需要为附加组件付费。 我注意到PostgreSQL(在Heroku上使用的数据库)有内置的全文searchfunction。 有没有一个原因,我不能使用Postgres的全文search? 它比狮身人面像慢还是有一些其他的主要限制?
请告诉我如何确定当前正在运行的solr的版本号?
我们需要将search引擎集成到我们的产品目录pipe理软件中。 目录预计有4-5百万。 关系数据logging遍布多个表格。 我们的开发平台是Asp.Net 3.5,我们已经在Lucene上做了一些前期的工作,发现它很好。 然而,我们刚刚了解到Solr,并且正在寻找一些实用的技巧来比较Lucene和Solr的实现,时间线,定期维护,性能,function的angular度。 任何指导或指针都会非常有帮助。 谢谢。
我们所有人最近都遇到过最近的非SQL解决scheme的炒作。 MongoDB,CouchDB,BigTable,Cassandra和其他已被列为非SQL选项。 这是一个例子: http://architects.dzone.com/articles/what-nosql-store-should-i-use 但是,三年前,一名同事和我正在使用Lucene.NET,因为它似乎适合于非SQL的描述。 我们没有使用它只是为了用户input的search查询; 我们用它来使一些重新索引的RDBMS表格数据非常高效。 我们实现了自己的.NET等价于Solr的服务来pipe理这些索引并使之可以被调用。 当我离开公司时,团队转向了Solr本身。 (对于那些不了解的人,Solr是一个Web服务,它使用REST可调用的查询和索引转储来包装Lucene。) 我不明白的是,为什么Solr不包括在没有SQL解决scheme的典型列表中? 我在这里错过了什么? 我认为Solr和CouchDB等没有可比性的技术原因,事实上我明白CouchDB使用Lucene作为它的数据存储(yes?),但是什么使得Solr不合格呢? 我并不是要求某种Solr fanboy或任何东西,我只是不明白为什么Solr等不符合no-SQL的定义,如果Solr在技术上符合定义,那么它可能会如何人们噗噗呢? 我在问,因为我很难确定我是否应该继续使用基于Lucene的解决scheme(如Solr)来构build解决scheme,或者如果我真的需要使用这些其他选项进行更多的研究。
我最近从Postgres转到Solr,在我们的查询中看到了大约50倍的速度。 我们运行的查询涉及多个范围,我们的数据是车辆清单。 例如:“查找里程数<50,000,$ 5,000 <价格<$ 10,000,使=马自达的所有车辆…” 我在Postgres的所有相关列上创build了索引,所以它应该是一个相当公平的比较。 查看Postgres中的查询计划,尽pipe它仍然只是使用单个索引,然后扫描(我假设,因为它不能使用所有不同的指数)。 据我了解,Postgres和Solr使用模糊的类似数据结构(B-tree),并且它们都将数据caching在内存中。 所以我想知道这么大的性能差异是从哪里来的。 体系结构有什么不同可以解释这一点
如何通过命令删除solr的所有数据? 我们用lily和hbase使用solr 。 我如何从hbase和solr中删除数据? http://lucene.apache.org/solr/4_10_0/tutorial.html#Deleting+Data
我有一个大的solr索引,我注意到有些字段没有正确更新(索引是dynamic的)。 这导致了一些字段有一个空的“ID”字段。 我已经尝试了这些查询,但他们没有工作: id:'' id:NULL id:null id:"" id: id:['' TO *] 有没有办法查询空字段? 谢谢
我知道Lucene和Solr是两个不同的Apache项目 ,但是我不明白每个项目的目标是什么。 对于我所了解的直到现在,Lucene被用来创build一个search索引,Solr使用这个索引来执行search。 我是对的还是这是一个完全不同的方法?
随着NoSQL运动在基于文档的数据库的基础上不断发展,我最近研究了MongoDB。 我已经注意到与Lucene一样(和Solr的用户)如何将项目视为“文档”,这一点非常相似。 所以,问题是: 你为什么要使用Lucene(或Solr)上的NoSQL(MongoDB,Cassandra,CouchDB等)作为你的“数据库”? 我(而且我相信其他人)正在寻找答案的是他们的一些深入的比较。 让我们一起跳过关系数据库的讨论,因为他们服务于不同的目的。 Lucene具有强大的search和权重系统等优点。 更不要说Solr的一面(Solr即将被整合到Lucene中,耶!)。 您可以使用Lucene文档来存储ID,并像MongoDB一样访问这些文档。 把它和Solr混合起来,你就可以得到一个基于WebService的,负载平衡的解决scheme。 在讨论MongoDB的类似数据存储和可伸缩性时,甚至可以比较Velocity或MemCached之类的超级caching提供程序。 MongoDB的限制让我想起使用MemCached,但是我可以使用微软的Velocity,并且对MongoDB有更多的分组和列表收集能力(我认为)。 无法获得比在内存中caching数据更快或可伸缩的内容。 即使Lucene有一个内存提供者。 MongoDB(和其他)确实有一些优点,比如API的易用性。 新build一个文档,创build一个id,然后存储它。 完成。 好,易于。
这些技术之间的核心架构差异是什么? 另外,什么用例通常更适合每个?