Булевская переменная НЕ в запросе solr

Можете ли вы попробовать это: 1. Создайте индекс для обеих таблиц в столбце id, если он еще не создан (это займет время).

  1. Попробуйте создать две временные таблицы log_1_tmp и log_2_tmp с данными, как показано ниже:
Query 1 - insert into log_1_tmp select * from log_1 where log_1.ip = '192.168.100.100'

Query 2 - insert into log_2_tmp select * from log_2 where log_2.ip = '192.168.100.100'
  1. Выполните запрос над двумя таблицами, и здесь вы можете удалить условие where из запрос.

Посмотрите, работает ли это.

29
задан Mohit Ranka 7 November 2008 в 05:49
поделиться

3 ответа

Используйте - для указания NOT.

, Например, для запросов документов с идентификатором, не запускающимся с A59, запрос был бы: -id:A59*, который является: /solr/select/?q=-id:A59*

Для удаления запросом отправьте запрос в удалить сообщении к обработчику обновлений, как определено здесь .

РЕДАКТИРОВАНИЕ: NOT (весь верхний регистр) может также использоваться в качестве булева оператора

67
ответ дан 28 November 2019 в 00:57
поделиться

Восклицательный знак работает и для НЕ, поэтому:

/solr/select/?q=!id:A59*

должен работать в случае выше.

11
ответ дан 28 November 2019 в 00:57
поделиться

Использование символа - перед файлами подразумевает, что это конкретное значение исключено. Это даст результат, подобный NOT Equal

Ниже приведен пример строки запроса url где. Я сохранил « & amp; fq = -HQ_City_Code: MEL »,

. Он пропустит весь результат, имеющий значение HQ_City_Code MEL .

http://localhost:8983/solr/HQ_SOLR_Hotels/select?q=*:*&fq=HQ_National_Code:TH&fq=HQ_TYPE:hotel_EN&fq=HQ_Country_Code:AU&**fq=-HQ_City_Code:MEL**&wt=json&indent=true
0
ответ дан 28 November 2019 в 00:57
поделиться
Другие вопросы по тегам:

Похожие вопросы: