3 ms·
I don't understand... elasticsearch is built on top of lucene indexes. Data indexed with a postings lists is designed around the search use case. Don't know too
by cphoover 10y ago
I don't understand... elasticsearch is built on top of lucene indexes. Data indexed with a postings lists is designed around the search use case. Don't know too much about cassandra but it's not a search engine?
Would like to know more about how indexing is handled.
- ddorian43 10y agoIndexing is still handled the same as normal elasticsearch. The "raw" document, meaning "_source" is stored in a cassandra row as separate fields. While lucene indexes, are stored just as they are. Cassandra implements the replication/sharding, meaning when a token migrates from 1 node to another, they get reindexed on the new node and deleted on the old node.
- lobster_johnson 10y agoThis exists to index your Cassandra data. From the readme: * Cassandra update are automatically indexed in Elasticsearch. * Full-Text and spatial search on your cassandra data. * Real-time aggregation (does not require Spark or Hadoop to group by) * Provide search on multiple keyspace and tables in one query. * Provide automatic schema creation and support nested document using User Defined Types. * Provide a read/write JSON REST access to cassandra data (for indexed data)
- cnlwsu 10y agoClosest thing Cassandra has to behaving like a search engine is the new SASI indexes. Good deep dive here: http://www.doanduyhai.com/blog/?p=2058 http://www.doanduyhai.com/blog/?p=2058 which describes how its different from elastic search in "SASI vs Search Engines" section. - SASI requires 2 passes on disk to fetch data: 1 pass to read the index files and 1 pass for the normal Cassandra read path whereas search engines retrieves the result in a single pass (DSE Search has a singlePass option too). By laws of physics, SASI will always be slower, even if we improve the sequential read path in Cassandra - Although SASI allows full text search with tokenization and CONTAINS mode, there is no scoring applied to matched terms SASI returns result in token range order, which can be considered as random order from the user point of view. It is not possible to ask for total ordering of the result, even when LIMIT clause is used. Search engines don't have this limitation - last but not least, it is not possible to perform aggregation (or faceting) with SASI. The GROUP BY clause may be introduced into CQL in a near future but it is done on Cassandra side, there is no pre-aggregation possible on SASI terms that can help speeding up aggregation queries