Solr «в режиме реального времени» получить - Как включить текстовое поле? - PullRequest
0 голосов
/ 10 сентября 2018

Возможно ли получить поле "текст" при выполнении операции получения в режиме реального времени?

Когда я выполняю запрос / получить, возвращаемый json не содержит содержимого поля 'текст'.

Когда я выполняю поиск (/ запрос на выборку), возвращаемый json содержит содержимое поля 'text'.

Вот пример, где id равен 123:

Поисковый запрос http://localhost:8984/solr/real/select?q=id:123 возвращает:

{
  "responseHeader":{
    "zkConnected":true,
    "status":0,
    "QTime":4,
    "params":{
      "q":"id:123"}},
  "response":{"numFound":1,"start":0,"maxScore":9.250275,"docs":[
      {
        "id":"123",
        "filename":"SKMBT_C45212120410351.pdf",
        "file_size":1793774.0,
        "archive_date":"2012-12-04T08:38:12Z",
        "content_type":["text/plain; charset=UTF-8"],
        "_version_":1611231085639761920,
        "text":[TEXT_CONTENT]}]
  }
}

Теперь запрос get: http://localhost:8984/solr/real/get?id=123 возвращает:

{
  "doc":
  {
    "id":"123",
    "filename":"SKMBT_C45212120410351.pdf",
    "file_size":1793774.0,
    "archive_date":"2012-12-04T08:38:12Z",
    "content_type":["text/plain; charset=UTF-8"],
    "_version_":1611231085639761920
  }
}

Как видите, 'текстовое поле отсутствует.

Возможно ли включить текстовое поле в ответ на запрос / get?

Обратите внимание, что в схеме текстовое поле правильно помечено какхранится:

<field name="text" type="text_general" indexed="true" stored="true"/>

1 Ответ

0 голосов
/ 11 сентября 2018

Получение в реальном времени

Как указано выше, Real Time Get использует функцию журнала обновлений. Итак, вы получите последний документ для этого идентификатора. Итак, если в вашем последнем процессе индексации отсутствует поле text , функция get в реальном времени не будет возвращать это поле.

Проверьте следующий скриншот.

Снимок экрана получения и обновления в режиме реального времени

...