标签: solandra

Cassandra还是SOLR?什么为最终读取查询提供了更好的性能?

我的团队让我在Cassandra和SOLR之间做出选择,以便更快地回复@ frond结束查询.我告诉他们,Cassandra是NOSQL db的东西,而SOLR是索引的东西.但后来他们说我们可以将完整的数据库推送到SOLR(就像使用SOLR作为数据库),或者我们可以使用Cassandra和SOLR.一切困惑.

我们处理的数据量大约是10亿分布在4个MySQL表(使用连接获取),我们只从网站上读取查询.我们不需要全文搜索

我认为SOLR不容易被击败的是它的全文搜索功能,但是我们在我们的情况下不需要它.

那么SOLR还有哪些Cassandra无法提供的内容以及Cassandra在特定情况下可以取代SOLR的内容呢?

换句话说,谁会表现得更好?卡桑德拉一个人?SOLR作为一个单独的数据库?或者两者在一起?最重要的是为什么以及为什么不呢?

对我来说,以强有力的观点来支持我的选择非常重要,好像为什么在我的下一次团队会议期间为什么一个比其他人好.

并提前感谢.

编辑:

  • SOLANDRA不是一个选择,因为它不是那么成熟,我想不再保持
  • DataStax不是一个选项,因为SOLR功能仅在Enterprise Edition中提供

lucene indexing solr cassandra solandra

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

Solandra与ElasticSearch

我们正在使用Cassandra数据库,该数据库将存储PB级数据.我们正在考虑使用ElasticSearch或Solandra,但我们正在享受一个有趣的时间来决定使用哪个.我想知道我们的数据库是否会变得太大.我知道ElasticSearch是可扩展的,但在多大程度上 - 特别是对于Cassandra数据库.

另一方面,Solandra是为Cassandra制作的,具有很高的可扩展性,但又在多大程度上?

两者都是可扩展的,但使用Cassandra的可扩展性如何?

lucene scalable cassandra elasticsearch solandra

11
推荐指数
1
解决办法
3301
查看次数

是否可以"合理地"设置Solr分数阈值,与返回的结果无关?(即Solr评分是否以任何方式标准化)

我有一个包含许多条目的Solr索引,并在查询时返回一些子集 - 每个条目都有一些分数,(明显).一旦结果与分数一起返回,我希望能够"保留"高于某个分数的结果(即仅具有特定质量的结果).当返回的子集可能是什么时,是否可以这样做?

我问,因为在某些查询中似乎有一个得分为0.008的结果导致了一个不错的匹配,而其他查询得分较高会导致匹配不佳.

理想情况下,我只是在寻找一种方法来获取顶级x条目,只要它们至少具有一定的质量.

提前致谢!

indexing search solr solandra

8
推荐指数
1
解决办法
6970
查看次数

Solr - 突出显示查询短语

是否可以突出显示整个查询字词?当我要求"美国"时我想得到:

<em>United States</em>
Run Code Online (Sandbox Code Playgroud)

并不是:

<em>United</em> <em>States</em>
Run Code Online (Sandbox Code Playgroud)

我在整个互联网上搜索了一个答案,使用了hl.mergeContiguous,hl.usePhrasesHighlighterhl.highlightMultiTerm参数的所有组合,仍然无法使其工作.

我的查询是:

http://localhost:8983/solandra/idxPosts.proj350_139/select?q=post_text:"Janusz Palikot"&hl=true&hl.fl=post_text&hl.mergeContiguous=true&hl.usePhrasesHighlighter=true&hl.highlightMultiTerm=true
Run Code Online (Sandbox Code Playgroud)

答案是:

...
<arr name="post_text"><str>Tag: <em>janusz</em> <em>palikot</em> - Sowiniec: "Sowiniec"</str></arr>
...
Run Code Online (Sandbox Code Playgroud)

我的"post_text"字段是:

<field name="post_text" type="text" indexed="true" stored="true" termVectors="true" termPositions="true" termOffsets="true" required="true" />
Run Code Online (Sandbox Code Playgroud)

我的"文字"类型是:

<fieldType name="text" class="solr.TextField">
    <analyzer type="index">
        <tokenizer class="solr.StandardTokenizerFactory" />
        <filter class="solr.TrimFilterFactory" />
        <filter class="solr.LowerCaseFilterFactory" />
        <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords_pl.txt" />
        <filter class="solr.ReversedWildcardFilterFactory" />
    </analyzer>
    <analyzer type="query">
        <tokenizer class="solr.StandardTokenizerFactory" />
        <filter class="solr.TrimFilterFactory" />
        <filter class="solr.LowerCaseFilterFactory" />
        <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords_pl.txt" />
    </analyzer> …
Run Code Online (Sandbox Code Playgroud)

lucene solr solrj solandra

5
推荐指数
1
解决办法
2236
查看次数

Solr文档的频繁更新 - 效率/可伸缩性问题

我有一个Solr索引,文档字段类似于:

id, body_text, date, num_upvotes, num_downvotes
Run Code Online (Sandbox Code Playgroud)

在我的应用程序中,创建一个带有一些整数id和一些body_text(最多500个字符)的文档.日期设置为输入时间,num_upvotesnum_downvotes从0开始.

我的应用程序为用户提供了对上述内容进行upvote和downvote的能力,以及我想在Solr而不仅仅是数据库中跟踪这个内容的原因是我希望能够将upvotes和downvotes的数量考虑到我的内容中search.

这是一个问题,因为您不能简单地更新solr文档(即up_votes的增量数),并且您必须替换整个文档,这可能是相当低效的,因为它需要命中我的数据库以再次获取所有相关数据.

我意识到解决方案可能需要不同的数据布局,或者可能需要多个索引(尽管我不知道你是否可以在solr内核中查询/得分).

有人能提供任何有关如何解决这个问题的建议吗?

search solr full-text-search solandra

5
推荐指数
1
解决办法
1581
查看次数

卡桑德拉,Solr的,lucandra,solandra

我正在使用以下技术开发网站,

Ruby on Rails,(ruby 1.8.7,rails 2.3.5)Cassandra 0.6.8,

我想使用Lucandra索引Cassandra数据库,我该怎么做?是否有任何RESTful API或任何可用的Web服务,以便我可以将数据推送到索引数据库?如果有任何使用Lucandra的ROR示例,请分享,这真的有助于我们前进.或者指导我实现这一目标的一些步骤.

我谷歌搜索了3天,我没有在ROR中使用Lucandra的任何例子.

我们将提前感谢您的帮助

cassandra solandra

3
推荐指数
1
解决办法
3084
查看次数