【发布时间】:2018-10-23 07:15:48
【问题描述】:
我正在尝试通过 Apache Solr 索引 zip 文件。 我的 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"
…
我已经能够索引压缩文件,结果如下:
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
在这里我可以搜索特定的列。
如何索引这样的压缩文件? 文档说 Tika 应该可以,但我真的不明白。
【问题讨论】:
-
如果您通过 Tika 处理程序,我不确定您是否能够将您的内容索引为实际的 csv 更新,因为 Tika 通常更关心获取原始内容(及其元数据) 从文件中取出,而不是将嵌入的内容结构化为单独的更新。
-
您认为还有其他方法吗?
-
在您的应用程序中解压缩并发布到 Solr,然后将其作为常规 CSV 文件直接发布到更新处理程序端点。
标签: solr