Индексирование Zip-файлов с помощью Apache Solr - PullRequest
0 голосов
/ 23 октября 2018

Я пытаюсь индексировать zip-файлы через Apache Solr.Мои Zip-файлы содержат только один CSV-файл.

Мои CSV-файлы выглядят так:

"N_NATIONKEY","N_NAME","N_REGIONKEY","N_COMMENT"
0,"ALGERIA                  ",0,"04.07.11"
1,"ARGENTINA                ",1,"04.07.11"
2,"BRAZIL                   ",1,"04.07.11"
…

Я уже смог проиндексировать zip-файл со следующим результатом:

post http://localhost:8983/solr/first/update/extract?literal.id=zip2&commit=true&captureAttr=true&uprefix=attr_&fmap.content=attr_content

    "ignored_":["stream_size",
      "461",
      "X-Parsed-By",
      "org.apache.tika.parser.DefaultParser",
      "X-Parsed-By",
      "org.apache.tika.parser.pkg.PackageParser",
      "stream_content_type",
      "text/plain",
      "Content-Type",
      "application/zip"],
    "div":["embedded",
      "NATION.csv",
      "package-entry"],
    "id":"zip2",
    "stream_size":[461],
    "x_parsed_by":["org.apache.tika.parser.DefaultParser",
      "org.apache.tika.parser.pkg.PackageParser"],
    "stream_content_type":["text/plain"],
    "content_type":["application/zip"],
    "attr_content":[" \n \n  \n  \n  \n  \n  \n  \n \n   \n  NATION.csv \n \"N_NATIONKEY\",\"N_NAME\",\"N_REGIONKEY\",\"N_COMMENT\"\r\n0,\"ALGERIA                  \",0,\"04.07.11\"\r\n1,\"ARGENTINA                \",1,\"04.07.11\"\r\n2,\"BRAZIL                   \",1,\"04.07.11\"\r\n3,\"CANADA                   \",1,\"04.07.11\"\r\n4,\"EGYPT                    \",4,\"04.07.11\"\r\n5,\"ETHIOPIA                 \",0,\"04.07.11\"\r\n6,\"FRANCE                   \",3,\"04.07.11\"\r\n7,\"GERMANY                  \",3,\"04.07.11\"\r\n8,\"INDIA                    \",2,\"04.07.11\"\r\n9,\"INDONESIA                \",2,\"1\"\r\n10,\"IRAN                     \",4,\"04.07.11\"\r\n11,\"IRAQ                     \",4,\"04.07.11\"\r\n12,\"JAPAN                    \",2,\"04.07.11\"\r\n13,\"JORDAN                   \",4,\"04.07.11\"\r\n14,\"KENYA                    \",0,\"04.07.11\"\r\n15,\"MOROCCO                  \",0,\"04.07.11\"\r\n16,\"MOZAMBIQUE               \",0,\"1\"\r\n17,\"PERU                     \",1,\"04.07.11\"\r\n18,\"CHINA                    \",2,\"04.07.11\"\r\n19,\"ROMANIA                  \",3,\"1\"\r\n20,\"SAUDI ARABIA             \",4,\"04.07.11\"\r\n21,\"VIETNAM                  \",2,\"1\"\r\n22,\"RUSSIA                   \",3,\"04.07.11\"\r\n23,\"UNITED KINGDOM           \",3,\"04.07.11\"\r\n24,\"UNITED STATES            \",1,\"04.07.11\"\r\n \n\n \n  "],
    "_version_":1615098997961129984}]

То, что я хочу, это:

    "N_NATIONKEY":0,
    "N_NAME":"ALGERIA                  ",
    "N_REGIONKEY":0,
    "N_COMMENT":"04.07.11",
    "id":"84f3e0f3-8b13-47d8-818f-52504f79d91a",
    "_version_":1615098850670804992

Здесь я могу искать по определенным столбцам.

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

1 Ответ

0 голосов
/ 24 октября 2018

Нечто подобное происходит с файлами .gz в следующем (7.6) Solr, см. SOLR-10981 .Это не распространяется на zip.

В общем, вы, вероятно, просто хотите разархивировать файл и передать его непосредственно в Solr.Команда bin / post позволяет получать содержимое файла из стандартного ввода, вам просто нужно убедиться, что тип содержимого правильный.Проверьте bin/post -h для деталей.

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