2015-01-07 4 views
2

Все:Basic Solr синтаксис запроса

Я хочу задать один начинающий вопрос о Solr запроса:

прямо сейчас, есть несколько ситуаций я хочу найти:

[1] Search all documents with "fund" AND without "report" 
[2] Search all documents with "fund" OR without "report" 

Может ли один скажите мне, как писать эти запросы? Я пробовал:

fund OR -report 
fund AND -report 

но оба запроса возвращают одинаковые результаты

Благодарности

ответ

3

Я не знаю, почему это не работает, как есть, но если вы используете логическое отрицание # 2, и отрицать это, то он делает работу, например:

-(-fund AND report) 

результаты для # 1 (fund AND -report) являются правильными.

От this thread, кажется, что Solr испытывает трудности с интерпретацией запросов, содержащих OR, где один из критериев отрицательный, но хорошо работает с чисто отрицательными запросами.

FYI, вы можете также использовать NOT вместо -, если это делает вещи проще понять:

NOT(NOT fund AND report) 
+0

Не могли бы вы мне помочь с соответствующим вопросом: http://stackoverflow.com/questions/27827347/ plus-sign-in-solr-query-is-not-correct-treat – Kuan

+0

Только что ответил. Пожалуйста, примите этот ответ, если он работает для вас. Благодаря! –

+0

Спасибо за помощь. Принял это. – Kuan

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