Я использую datastax 4.7 Cassandra C# драйверу 2,5datastax 4,7 Параметр «старт» не допускается в C# водителя с autopaging от
Мне нужно выполнить запрос поискового вызова.
В cqlsh, когда я бегу
paging off;
then:
select * from tbl where solr_query='{"q":"*:*","start":0,"sort":"id asc"}' ;
Запрос успешно выполнен.
Но при выполнении того же запроса в коде с помощью драйвера C#. следующее исключение сгенерировано:
You have driver paging active which also activates Solr deep pagination. The 'start' parameter is not allowed. Please either deactivate paging or read about Solr deep paging restrictions and fix accordingly
Код, я использую для выполнения запроса:
ILoadBalancingPolicy ploicy = new DCAwareRoundRobinPolicy(_dc);
RowSet ret = null;
Statement st = new SimpleStatement(cql);
try
{
ret = _currentSession.Execute(st.SetAutoPage(false).SetPageSize(pageSize));
}
catch
{
}
Я нашел проблему: –
st.SetAutoPage (false) отключить подкачку, поэтому я не могу включить параметр start в solr_query, поскольку мы внутри режима курсора поиска, а не поискового поискового вызова. –
В solr существует два типа морских досок: 1- Поиск поискового вызова, этот тип вызывает проблемы с производительностью и нагрузкой на сервер «проблема с глубоким поиском». В этом типе поиска вы запрашиваете solr для возврата набора результатов, начиная с определенного индекса и с определенным размером страницы. Solr сканирует все документы результатов из документа с индексом 0 в документ в указателе начала, который вы указали. Таким образом, память может быть разбита, если вы указали большой индекс начала. –