Нужна помощь с небольшой проблемой Solr - PullRequest
0 голосов
/ 01 февраля 2010

У меня есть строковое поле, в котором хранятся имена областей из двух слов. Пример: New York

Дело в том, что всякий раз, когда я пытаюсь запросить это поле (area:New York), результаты не появляются, даже если оно хранится в точности как в Нью-Йорке.

Почему это?

Результаты ДЕЙСТВУЮТ, если я буду искать так: area:"New York", но они не будут появляться, если поиск будет выглядеть так: area:New.

Есть идеи?

Вот определение поля в файле schema.xml:

  <fieldType name="string" class="solr.StrField" sortMissingLast="true" omitNorms="true"/>
  <field name="area" type="string" indexed="true" stored="true" omitNorms="true"/>

Если вам нужно больше информации, дайте мне знать!

Спасибо

UPDATE

   $fq.=" + area:$state";

Я отправляю это, и Solr получает это как переменную внутри штата (Нью-Йорк) ...

Как я могу переписать это, чтобы она отправляла переменную как "Нью-Йорк" (с двойными кавычками) ...?

1 Ответ

1 голос
/ 01 февраля 2010

Может быть конфликт с зарезервированным ключевым словом New. Вы пытались получить похожие результаты, используя другую область из двух слов, например Las Vegas?

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

EDIT:

У меня нет опыта использования SOLR, но если предположить, что area:$state содержит New York, я бы попытался вставить кавычки в мой код, например:

$fq.=" + area:\"$state\" ";

Возможно, это не правильно, но это может помочь вам указать правильное направление.

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