2014-01-07 2 views
-1

У меня есть запрос solr: host:8983/solr/collection/select?q=propids%3A1&wt=json&indent=true где я фильтрую просиды: 1. Проблема в том, что фильтры пропитывают: 1 и 2, у меня есть документы, индексированные с помощью пропидов: 1, buuut я получаю все индексированные результаты при использовании с и, даже если у меня нет каких-либо пропидов, имеющих 2. Любая помощь приветствуется. БлагодаряЗапрос Solr не возвращает ожидаемые результаты

+1

С помощью Solr вы должны предоставить гораздо больше информации. Включите дизайн схемы (поля в schema.xml), а также определение вашего обработчика запросов (ссылку «/ select») из файла solrconfig.xml. – jro

+0

Мне нужны документы с пропитами 1 и 2, это поле с несколькими значениями, значения разделяются символом «,». Это будут свойства для некоторых продуктов, таких как мощность и мощность или любое другое свойство. Каждый продукт имеет свойство пропускной способности свойство power и т. Д. Когда я создаю свои фильтры, я должен построить свой запрос, поэтому, если выбран тип емкости, он должен возвращать все данные с этим свойством, чем если бы выбрана другая поддержка, она должна возвращают данные, имеющие первое И второе свойство. Надеюсь, теперь это понятно :) – geryjuhasz

+0

«Мне нужны документы с проксими 1 и 2, это поле с несколькими значениями, значения, разделенные«, », - можете ли вы показать определение поля схемы и образец документа, который вы проиндексировали? – jro

ответ

1

Все результаты, которые содержат propids = 1

host:8983/solr/collection/select?q=*:*&wt=json&indent=true&fq=propids:1 

Все результаты, которые содержат propids = 2

host:8983/solr/collection/select?q=*:*&wt=json&indent=true&fq=propids:2 

Все результаты, которые содержат либо propids = 1 или propids = 2

host:8983/solr/collection/select?q=*:*&wt=json&indent=true&fq=propids:(1 OR 2) 

Все результаты, содержащие как пропиды = 1, так и пропиды = 2

host:8983/solr/collection/select?q=*:*&wt=json&indent=true&fq=propids:1&fq=propids:2 
+0

Кажется, хорошо, к сожалению, я больше не могу его тестировать, потому что я уже изменил логику. Я думаю, что это правильный ответ. Благодарю. – geryjuhasz

0

Я думаю, ваша часть запроса

д = propids: 1 и 2

Это не означает, что он будет искать propids = 1 и 2.

Пожалуйста проверьте свой solrconfig.xml для поля поиска по умолчанию. Потому что, если ваш запрос как я mentioed, то это означает

Q = propids: 1 и default_searchable_field: 2

0

Если вам необходимо получить документы с propids = 1 плюс документы с propids = 2 , сделай это.

Это будет соответствовать словам (1 и 2) с содержимым поля и получить оба типа документов.

+0

Примечание: это предполагает оператор запроса по умолчанию для OR. – jro

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