фильтрация результатов в solr - PullRequest
0 голосов
/ 03 декабря 2010

Я пытаюсь создать функцию автоматического предложения с помощью Solr.Индекс содержит различные местоположения в городе и выглядит примерно так:

id: unique id
name: the complete name
type: can be one of 'location_zone', 'location_subzone', 'location_city', 'outlet', 'landmark' ...
city: city id

Теперь, когда пользователь что-то вводит, я хочу, чтобы он возвращал подсказку только из текущего города и типа location_ *.что-то похожее на WHERE city_id = 1 AND type="location_%" в SQL.

Я думаю, что один из способов сделать это - огранка, но так ли это?будет ли он по-прежнему искать во всех документах, а затем фильтровать результаты, или сначала будет применять условие, как это сделает mysql

PS: я новичок в solr и буду признателен, если вы укажете на любые ошибки вподход

1 Ответ

2 голосов
/ 03 декабря 2010

Solr обеспечивает фильтрацию, используя параметр fq . То, что вы ищете, должно быть примерно таким:

&fq=city_id:1&fq=type:location_*&q=...

Эта страница очень хорошо иллюстрирует, как и когда использовать фильтры запросов в Solr.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...