标签: solr

为什么Solr比Postgres快得多?

我最近从Postgres切换到了Solr,在查询中加速了~50倍.我们运行的查询涉及多个范围,我们的数据是车辆清单.例如:"查找里程<50,000,$ 5,000 <价格<$ 10,000,make = Mazda ......"的所有车辆

我在Postgres的所有相关专栏上创建了索引,所以它应该是一个相当公平的比较.看看Postgres中的查询计划虽然它仍然只是使用单个索引然后扫描(我假设因为它无法使用所有不同的索引).

据我了解,Postgres和Solr使用模糊相似的数据结构(B树),它们都将数据缓存在内存中.所以我想知道这么大的性能差异来自哪里.

架构有什么不同可以解释这一点?

lucene postgresql performance rdbms solr

63
推荐指数
4
解决办法
3万
查看次数

为什么像Lucene/Solr这样的文档存储不包含在NoSQL会话中?

我们所有人最近都遇到了最近对无SQL解决方案的大肆宣传.MongoDB,CouchDB,BigTable,Cassandra等已被列为无SQL选项.这是一个例子:

http://architects.dzone.com/articles/what-nosql-store-should-i-use

但是,三年前我和一个同事使用Lucene.NET似乎符合无SQL的描述.我们并没有将其用于用户输入的搜索查询; 我们使用它来使一些重新编制索引的RDBMS表数据非常高效.我们实现了自己的.NET等价于Solr服务,以管理这些索引并使它们可调用.当我离开公司时,团队切换到Solr本身.(对于那些不知情的人,Solr是一个Web服务,它使用REST可调用查询和索引转储来包装Lucene.)

我不明白的是,为什么Solr不计入典型的无SQL解决方案选项列表?我在这里错过了什么吗?我假设Solr与CouchDB等不相似的技术原因,实际上我理解CouchDB使用Lucene作为其数据存储(是吗?),但是什么使Solr失去资格?

我不是要求某种Solr粉丝或任何东西,我只是不明白为什么Solr之类的东西不符合no-SQL的定义,如果Solr在技术上确实符合定义,那么它有什么可能使得人们呸呸吗?我问,因为我很难确定是否应该继续使用基于Lucene的解决方案(如Solr)来构建我构建的解决方案,或者我是否应该对这些其他选项进行更多的研究.

lucene solr nosql

62
推荐指数
3
解决办法
2万
查看次数

如何找到当前运行的Solr的版本?

请告诉我如何确定当前运行的solr的版本号?

solr

61
推荐指数
6
解决办法
6万
查看次数

有什么理由不在Heroku上使用PostgreSQL的内置全文搜索?

我准备在Heroku上部署一个需要全文搜索的Rails应用程序.到目前为止,我一直在使用MySQL与Sphinx的VPS上运行它.

但是,如果我想在Heroku上使用Sphinx或Solr,我需要支付附加费用.

我注意到PostgreSQL(Heroku上使用的数据库)具有内置的全文搜索功能.

有没有理由我不能使用Postgres的全文搜索?它比Sphinx慢还是有其他一些主要限制?

postgresql solr full-text-search sphinx heroku

61
推荐指数
3
解决办法
3万
查看次数

Solr指数vs存储

我对索引的行为和Solr字段的存储属性有点困惑.

例如,如果我在Schema.xml中有以下内容

<field name="test1" type="text" indexed="false"
        stored="false" required="false" />
Run Code Online (Sandbox Code Playgroud)

即使我在其中创建了包含该字段的文档并将值设置为该字段并将文档提交给Solr ,字段test1也不会存储在Solr文档中.因为我有这个stored=false属性,是否意味着该字段的值在Solr中丢失而不是持久存在?

solr solr4

59
推荐指数
3
解决办法
3万
查看次数

检索Solr查询中的特定字段?

我在Jetty上运行Solr实例,当我使用Solr管理面板进行搜索时,它返回整个文档.如何从搜索返回的每个Solr文档中仅获取指定的字段?

lucene solr

57
推荐指数
2
解决办法
4万
查看次数

搜索引擎 - Lucene或Solr

我们需要在我们的产品目录管理软件中集成搜索引擎.该目录预计将超过4-5百万.关系数据的记录分布在几个表中.我们的开发平台是Asp.Net 3.5,我们已经对Lucene做了一些初步的工作,发现它很好.然而,我们刚刚了解了Solr并且正在寻找一些实用的技巧来比较Lucene和Solr的实现,时间表,定期维护,性能,功能.任何指导或指示都会非常有用.谢谢.

asp.net solr lucene.net

52
推荐指数
3
解决办法
3万
查看次数

如何使用Solr选择不同的字段值?

我想做相当于这个SQL,但Solr作为我的数据存储.

SELECT
   DISTINCT txt
FROM
   my_table;
Run Code Online (Sandbox Code Playgroud)

什么语法会迫使Solr只给我不同的值?

http://localhost:8983/solr/select?q=txt:?????&fl=txt
Run Code Online (Sandbox Code Playgroud)

编辑:如此刻面的搜索似乎很合适,但正如我调查的那样,我意识到我只有一半的问题.

我的SQL查询应该已阅读...

SELECT
   DISTINCT SUBSTR(txt,0,3)
FROM
   my_table;
Run Code Online (Sandbox Code Playgroud)

Solr的任何可能吗?

select solr

52
推荐指数
3
解决办法
8万
查看次数

使用Solr搜索索引作为数据库 - 这是"错误的"吗?

我的团队正在与使用Solr作为搜索索引的第三方CMS合作.我注意到,似乎作者使用Solr作为各种类型的数据库,因为返回的每个文档都包含两个字段:

  1. Solr文档ID(基本上是类名和数据库ID)
  2. 整个对象的XML表示

所以基本上它运行对Solr的搜索,下载对象的XML表示,然后从XML实例化对象,而不是使用id在数据库中查找它.

我的直觉告诉我这是一个不好的做法.Solr是一个搜索索引,而不是一个数据库......所以对我来说更有意义的是对Solr执行复杂的搜索,获取文档ID,然后将相应的行拉出数据库.

当前的实现是否完美无缺,或者是否有数据支持这种重构成熟的想法?

编辑:当我说"XML表示"时 - 我的意思是一个存储字段,其中包含所有对象属性的XML字符串,而不是多个存储字段.

java mysql database solr

52
推荐指数
2
解决办法
2万
查看次数

SOLR过滤查询与主查询

SOLR文档声明,与主查询不同,过滤查询不会影响文档分数.任何人都可以解释这是什么意思,最好是一个例子.

谢谢.

solr filter

51
推荐指数
2
解决办法
3万
查看次数