2015-10-09 4 views
0

Я недавно работал с Solr для фильтрации данных с использованием set_filter_query. Мне удалось работать с целыми значениями.Запрос фильтра Solr для строки

$solr_dao->set_filter_query('ID:[3+TO+*]'); 

Этот запрос фильтрует данные, имеющие значения 3 или более. Я также пытаюсь включить поиск слов в поле, используя

$solr_dao->set_filter_query('Comments:[*'.$search_term.'*]'); 

, который, кажется, не работает. Этот запрос должен фильтровать данные с полем комментариев, имеющим период поиска. Любые идеи, что может вызвать это?

ответ

1

использование вместо этого:

$solr_dao->set_filter_query('Comments:*'.$search_term.'*'); 

Обратите внимание, что в Solr, она индексирует каждые слова. Поэтому, если строка содержит «Hello honey my name is John» в столбце «foo», если ваш запрос равен foo:Hello World, эта строка будет удовлетворять запросу, так как Solr ищет слова и читает пробелы как «OR» ...

+0

Большое спасибо за объяснение. Это сработало! –

+0

Я также пытаюсь включить сортировку по данным, основанным на количестве случаев поиска. Пожалуйста, предложите, если у вас есть идеи. –

+0

@SnehaAvula Любые новые вопросы должны задаваться сами по себе, а не в разделе комментариев. – MatsLindh

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