---
layout: docpage

title: "Documentation"

is_homepage: false
is_sphinx_doc: true

doc-title: "Third-Party Plugins"
doc-header-links: '
  <link rel="top" title="Apache Cassandra Documentation v4.0-beta3" href="../index.html"/>
      <link rel="next" title="Reporting Bugs" href="../bugs.html"/>
      <link rel="prev" title="Frequently Asked Questions" href="../faq/index.html"/>
'
doc-search-path: "../search.html"

extra-footer: '
<script type="text/javascript">
    var DOCUMENTATION_OPTIONS = {
      URL_ROOT:    "",
      VERSION:     "",
      COLLAPSE_INDEX: false,
      FILE_SUFFIX: ".html",
      HAS_SOURCE:  false,
      SOURCELINK_SUFFIX: ".txt"
    };
</script>
'

---
<div class="container-fluid">
  <div class="row">
    <div class="col-md-3">
      <div class="doc-navigation">
        <div class="doc-menu" role="navigation">
          <div class="navbar-header">
            <button type="button" class="pull-left navbar-toggle" data-toggle="collapse" data-target=".sidebar-navbar-collapse">
              <span class="sr-only">Toggle navigation</span>
              <span class="icon-bar"></span>
              <span class="icon-bar"></span>
              <span class="icon-bar"></span>
            </button>
          </div>
          <div class="navbar-collapse collapse sidebar-navbar-collapse">
            <form id="doc-search-form" class="navbar-form" action="../search.html" method="get" role="search">
              <div class="form-group">
                <input type="text" size="30" class="form-control input-sm" name="q" placeholder="Search docs">
                <input type="hidden" name="check_keywords" value="yes" />
                <input type="hidden" name="area" value="default" />
              </div>
            </form>
            
            
            
            <ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../getting_started/index.html">Getting Started</a></li>
<li class="toctree-l1"><a class="reference internal" href="../new/index.html">New Features in Apache Cassandra 4.0</a></li>
<li class="toctree-l1"><a class="reference internal" href="../architecture/index.html">Architecture</a></li>
<li class="toctree-l1"><a class="reference internal" href="../cql/index.html">The Cassandra Query Language (CQL)</a></li>
<li class="toctree-l1"><a class="reference internal" href="../data_modeling/index.html">Data Modeling</a></li>
<li class="toctree-l1"><a class="reference internal" href="../configuration/index.html">Configuring Cassandra</a></li>
<li class="toctree-l1"><a class="reference internal" href="../operating/index.html">Operating Cassandra</a></li>
<li class="toctree-l1"><a class="reference internal" href="../tools/index.html">Cassandra Tools</a></li>
<li class="toctree-l1"><a class="reference internal" href="../troubleshooting/index.html">Troubleshooting</a></li>
<li class="toctree-l1"><a class="reference internal" href="../development/index.html">Contributing to Cassandra</a></li>
<li class="toctree-l1"><a class="reference internal" href="../faq/index.html">Frequently Asked Questions</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">Third-Party Plugins</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#capi-rowcache">CAPI-Rowcache</a></li>
<li class="toctree-l2"><a class="reference internal" href="#stratios-cassandra-lucene-index">Stratio’s Cassandra Lucene Index</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../bugs.html">Reporting Bugs</a></li>
<li class="toctree-l1"><a class="reference internal" href="../contactus.html">Contact us</a></li>
</ul>

            
            
          </div><!--/.nav-collapse -->
        </div>
      </div>
    </div>
    <div class="col-md-8">
      <div class="content doc-content">
        <div class="content-container">
          
  <div class="section" id="third-party-plugins">
<h1>Third-Party Plugins<a class="headerlink" href="#third-party-plugins" title="Permalink to this headline">¶</a></h1>
<p>Available third-party plugins for Apache Cassandra</p>
<div class="section" id="capi-rowcache">
<h2>CAPI-Rowcache<a class="headerlink" href="#capi-rowcache" title="Permalink to this headline">¶</a></h2>
<p>The Coherent Accelerator Process Interface (CAPI) is a general term for the infrastructure of attaching a Coherent accelerator to an IBM POWER system. A key innovation in IBM POWER8’s open architecture is the CAPI. It provides a high bandwidth, low latency path between external devices, the POWER8 core, and the system’s open memory architecture. IBM Data Engine for NoSQL is an integrated platform for large and fast growing NoSQL data stores. It builds on the CAPI capability of POWER8 systems and provides super-fast access to large flash storage capacity and addresses the challenges associated with typical x86 server based scale-out deployments.</p>
<p>The official page for the <a class="reference external" href="https://github.com/ppc64le/capi-rowcache">CAPI-Rowcache plugin</a> contains further details how to build/run/download the plugin.</p>
</div>
<div class="section" id="stratios-cassandra-lucene-index">
<h2>Stratio’s Cassandra Lucene Index<a class="headerlink" href="#stratios-cassandra-lucene-index" title="Permalink to this headline">¶</a></h2>
<p>Stratio’s Lucene index is a Cassandra secondary index implementation based on <a class="reference external" href="http://lucene.apache.org/">Apache Lucene</a>. It extends Cassandra’s functionality to provide near real-time distributed search engine capabilities such as with ElasticSearch or <a class="reference external" href="http://lucene.apache.org/solr/">Apache Solr</a>, including full text search capabilities, free multivariable, geospatial and bitemporal search, relevance queries and sorting based on column value, relevance or distance. Each node indexes its own data, so high availability and scalability is guaranteed.</p>
<p>The official Github repository <a class="reference external" href="http://www.github.com/stratio/cassandra-lucene-index">Cassandra Lucene Index</a> contains everything you need to build/run/configure the plugin.</p>
</div>
</div>



          
          <div class="doc-prev-next-links" role="navigation" aria-label="footer navigation">
            
            <a href="../bugs.html" class="btn btn-default pull-right " role="button" title="Reporting Bugs" accesskey="n">Next <span class="glyphicon glyphicon-circle-arrow-right" aria-hidden="true"></span></a>
            
            
            <a href="../faq/index.html" class="btn btn-default" role="button" title="Frequently Asked Questions" accesskey="p"><span class="glyphicon glyphicon-circle-arrow-left" aria-hidden="true"></span> Previous</a>
            
          </div>
          
        </div>
      </div>
    </div>
  </div>
</div>