Имеет ли смысл моделировать документ Solr, если поиск не позволяет указать атрибуты? - PullRequest
0 голосов
/ 11 июня 2018

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

Например, вместо того, чтобы разрешать пользователю выполнять поиск по "author = George"Мартин ", он просто запросит" Джордж Мартин ".

Я хотел бы знать, есть ли какое-либо преимущество в модели документа, подобной этой:

{
  "id": 1,
  "title": "Game of Thrones",
  "author": "George R. R. Martin",
  "published": "August, 1996"
}

По сравнению с:

{
  "id": 1,
  "data": [
    "Game of Thrones",
    "George R. R. Martin",
    "August, 1996"
  ]
}

Если я не собираюсь использовать «author: value» в Solr API, я должен получить те же результаты, верно?

1 Ответ

0 голосов
/ 11 июня 2018

Первая версия позволит вам назначать разные веса для разных полей.Т.е. попадание в заголовок может быть более важным, чем попадание в поле автора - или наоборот.

Использование обработчика edismax (defType=edismax) и полей запроса (qf=title author published) даст вам то же самоеповедение как ваш второй пример, но сохранит структуру документа.

Поскольку поля помещаются в параметр qf, пользователю не нужно явно указывать Solr, какие поля он хочет искать,

Чтобы присвоить полям различный вес, присвойте вес полю в списке qf: qf=title^5 author^2 published даст попадание в заголовке в пять раз больше, чем попадание в published - т.е.«Охота за красным октябрем» будет важнее того, что было опубликовано в октябре.

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