I have a solr index on a large CF. The solr query (curl) is much faster than thru cql.
What could be the reason ?
Also, is the data/index stored twice ? In cassandra sstables as well as solr files ?
Thanks.
I have a solr index on a large CF. The solr query (curl) is much faster than thru cql.
What could be the reason ?
Also, is the data/index stored twice ? In cassandra sstables as well as solr files ?
Thanks.
How many nodes? The search through cql uses a different approach than over solr so if you have many nodes it contacts each node sequentially from cql.
The data is not stored twice only the index data "postings" are stored in Solr files the raw field data is accessed from Cassandra.
It is just a single node. Number of rows are in millions.
It takes about 6 seconds thru CQL and about 3 seconds thru curl.
I don't see any warming queries in your new config (EXAMPLE):
<!-- QuerySenderListener takes an array of NamedList and executes a
local query request for each NamedList in sequence.
-->
<listener event="newSearcher" class="solr.QuerySenderListener">
<arr name="queries">
<lst><str name="q">solr</str><str name="sort">price asc</str></lst>
<lst><str name="q">rocks</str><str name="sort">weight asc</str></lst>
</arr>
</listener>
<listener event="firstSearcher" class="solr.QuerySenderListener">
<arr name="queries">
<lst>
<str name="q">static firstSearcher warming in solrconfig.xml</str>
</lst>
</arr>
</listener>
Also you should set <useColdSearcher>false</useColdSearcher>
Also the queries through CQL does not seem to be using Solr queryResultCache. Rerun of the same query through curl has almost instataneous response back. Not so through CQL, rerun takes about the same time again.
Anything I am missing ?
You must log in to post.