2016-02-03 2 views
0

Мы пытаемся извлечь данные из узла cassandra-solr с диапазонами дат, используя запрос solr.Поиск диапазона с использованием solr_query на оболочке cql

e.g. 

SELECT * FROM keyspace_name.table_name where solr_query='{"q":"<col1>:*",,"sort":"col1 asc"}'; 
      I could find syntax for apache solr documentation to perform range search & examples too. 

В случае Datastax Solr DSE поиск синтаксиса для нескольких условий/дата фильтров не доступен

https://docs.datastax.com/en/datastax_enterprise/4.6/datastax_enterprise/srch/srchCql.html

Я не мог найти любую документацию для Datastax Solr для следующих вещей конкретно.

  1. 1) «fq» с несколькими параметрами 2) Синтаксис для диапазонов дат.
    3) Дата форматы & синтаксиса для определения их с помощью solr_query

Пожалуйста, дайте мне знать, если я могу обратиться к любому источнику, кроме Datastax Solr документации для синтаксиса & примеров для стрельбы запроса с параметрами

Чтобы найти данные между двумя датами.

Эквивалент запрос CQL:

select * from tableName where startdate >= '1987-19-09 11:14:00+0000' AND startdate < '2003-10-06 08:42:00+0000' limit 500 allow filtering; 

Пожалуйста, помогите. Благодаря Саурабх

ответ

0

С точки зрения fq с несколькими параметрами, официальная документация упоминает:

"fq": <filter query expression(s) (string or array of strings)>,

Как НФМР 4.6.10, вы можете сделать что-то вроде:

"fq":["a:foo", "b:bar", "c:baz"]

Если вы работаете с датами, я рекомендую взглянуть на https://cwiki.apache.org/confluence/display/solr/Working+with+Dates. (Помните, что с форматом запросов DSE Search JSON вам, возможно, придется выполнить некоторое ускорение JSON поверх вашего специального символа Solr, чтобы получить желаемые результаты.)

0

В Solr вам нужно избежать специальных символов с \ , Специальные символы включают +, -, & &, ||, (,),», ~, *, и:?.

Таким образом, ваш CQL запрос должен быть:

select * from TABLENAME где solr_query = '{"q": "*: *", "fq": {startdate: [1987-19-09T11 \\: 14 \\: 00 \\ + 0000 TO 2003-10-06T08 \\: 42 \ \: 00 \\ + 0000], "sort": "startdate desc"} limit 500;

 Смежные вопросы

  • Нет связанных вопросов^_^