2013-08-03 2 views
0

Предположим, что я ищу «разработчика» в поле, получаю 1000 результатов & для «Php Developer» Получаю 1500 результатов.Solr: Получение граней без точного соответствия

Мой запрос возвращает аспекты, как:

  • Php разработчик (16)
  • Developer (15)
  • .Net Developer (14)

Вышеуказанные гранях означает, что есть 16 документов с точным соответствием «Php Developer» & 15 документов с точным соответствием «Веб-разработчик» и т. Д.

Я хочу, чтобы эти грани отображали «фактическое количество результатов поиска», если кто-то ищет «Разработчик».

  • Php Developer (1500)
  • .Net Developer (1100)
  • Developer (1000)

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

+0

Несколько вопросов - на каком поле вы гранитесь? и есть ли другие поля, которые вы ищете? –

+0

Я огранен в поле «Title_exact». Я ищу поля «Заголовок» и «Описание». – eadam

ответ

2

Мои советы - используйте поиск, поскольку он работает в настоящее время для вас. Границы на частичном матче кажутся немного запутанными. Люди ожидают частичные совпадения результатов поиска, но точное совпадение на грани. Границы - это скорее «просмотр» поведения, которое позволяет пользователям разобраться в деталях. Неоднозначность в фасетках может не позволить пользователям правильно нарезать.

Однако, если вы все еще хотите использовать то, о чем вы просите, вот некоторые мысли.

Как вы упомянули, огранка и поиск работы с различными полями, так что это может быть причиной этой разницы.

Огранка работает на индексированных значениях, не stored values

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

Кроме того, если у вас есть поле catch-all (copyfield), это приведет к такому поведению.