Я использую Solr 4.4.0, работающий на Tomcat 7.0.29. Solrconfig.xlm поставляется как отдельно (за исключением исходного каталога Solr, конечно). Я мог бы передать schema.xml, хотя я сомневаюсь, что это очень поможет, как будет показано ниже.Ответ на приглашение Lucene/Solr
Если я выбираю все документы, содержащие «россия» в тексте, который является полем по умолчанию, то есть, если я выполняю запрос «россия», я нахожу только один документ, что является правильным.
Если я выбираю все документы, содержащие «текст» в тексте («паутина»), то результат равен 29, что тоже правильно.
Если я ищу все документы, которые не содержат «россия» («NOT (россия)»), результат по-прежнему остается правильным (202).
Если я ищу все документы, содержащие «сеть» и не содержащие «россия» («сеть И НЕ (россия)»), результат, опять же, правильный (28, потому что документ, содержащий «россия» "также содержит" сеть ").
Но если я ищу все документы, содержащие «сеть» или не содержащие «россия» («web OR NOT (россия)»), результат все равно 28, хотя я должен получить 203 совпадения (весь набор).
У кого-нибудь есть объяснение?
Для информации, И и ИЛИ работать правильно, если я не использовать не где-то в запросе, то есть: «веб и Россия» -> OK «веб ИЛИ Россия» -> OK
Добавьте текст в часть EDIT вашего qn в качестве ответа и примите свой собственный ответ. Это делает qn ответом (и ответ на ответ дает вам 10 вместо upvote на qn, который дает вам всего 5 :), если вы заботитесь о своем репутации, то есть.). – arun
Есть несколько запутанных случаев с таким типом запросов, и причина в том, что логические операторы не являются действительно логическими операторами, а скорее переводятся в предложения 'MUST' /' SHOULD'/'MUST_NOT', так как запросы Lucene действительно работаю. Я рекомендую использовать операторы префикса +/- для запросов lucene, если это вообще возможно, чтобы избежать путаницы и более эффективно использовать функциональность Lucene. См. Эту замечательную статью: [Почему не И, ИЛИ, И НЕ?] (Http://searchhub.org/2011/12/28/why-not-and-or-and-not/) для получения более полной информации о тема. – femtoRgon
ОК, спасибо arun, я просто так сделал. –