Невозможно сделать поле доступным для поиска в Solr - PullRequest
2 голосов
/ 30 ноября 2011

У меня трудности с поиском с использованием Solr по определенным полям.Я использую Solarium в качестве «моста» между кодом PHP и поисковым сервером Apache Solr.

Когда я выполняю поиск по «product_name», он успешно завершается, однако, если я ищу по style_colour или style_number, он не,Я сделал оба поля «проиндексированными» в схеме, что, AFAIK, делает их доступными для поиска.

Кто-нибудь может посоветовать, что я здесь не так делаю?

Схема:

<field name="product_name" type="text_general" indexed="true" stored="true"/>
<field name="style_colour" type="string" indexed="true" stored="true"/>
<field name="style_number" type="string" indexed="true" stored="true"/>

Результат от Solr Admin запрос "get me everything":

<result name="response" numFound="1071" start="0">
  <doc>
    <str name="product_name">Farls</str>
    <str name="style_colour">01701901701931</str>
    <str name="style_number">017019</str>
  </doc>
  ...

1 Ответ

2 голосов
/ 01 декабря 2011

Добавить следующее в вашу схему -

<copyField source="product_name" dest="text"/>
<copyField source="style_colour" dest="text"/>
<copyField source="style_number" dest="text"/>

Кроме того, убедитесь, что текст поля определен в вашей схеме.
Вам нужно будет заново проиндексировать ваши данные.
Используя стандартный обработчик запросов, ваш запрос будет искать три поля.

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