问题标签 [solr-cell]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1078 浏览

solr - Solr - 如何将元数据添加到通过 Solr Cell 索引的索引二进制文件?

我正在创建一个 PHP 应用程序,它允许用户使用 Solr 来搜索文件以支持搜索。这主要是因为该应用程序需要对 Word Docs 和 PDF 进行内容搜索。该应用程序还使用 MySql 数据库来跟踪文件。

我在想最初索引所有文件(可能大约 20,000 个)的最佳方法是编写一个 PHP 脚本,循环遍历特定目录中的所有文件,将每个文件添加到 Solr 索引并在我的数据库。

问题是文件本身并不包含所有需要索引的数据。使用 Solr Cell 对文件名、内容、作者等进行索引后,我需要应用程序的用户能够添加额外的元数据,例如标签和类别。

我知道如果用户要将此数据添加到 MySql 数据库中,我将无法在不覆盖已编入索引的数据(内容等)的情况下使用额外数据更新 Solr。

所以我的问题是,一旦 Solr 对文件进行了索引,我如何将额外的元数据添加到 Solr Cell 提取器无法从文件本身检索到的索引中?

0 投票
0 回答
206 浏览

apache - 如何使用 apache solr 从 pdf 内容中获取日期字符串

大家好,我是 apache solr 的新手。我有一个 pdf,其中包含日期信息,例如 - bla bla bla 2012-11-23 11:11:12 bla bla ...- 我想从内容中获取所有日期。

我阅读了一些文档(http://wiki.apache.org/solr/ExtractingRequestHandler)并将 date.formats 添加到 /update/extract

我正在添加如下的pdf

curl "http://localhost:8983/solr/update/extract?literal.id=sql.txt&uprefix=attr_&fmap.content=attr_content&commit=true"&stream.file="/home/example/example.pdf"

并且有关于日期的注意事项?和内容?

谢谢

0 投票
1 回答
776 浏览

solr - Solr 能否保留其结果中提供给它的 HTML 文档的格式?

如何在 Solr 给出的结果中维护 HTML 文档的原始格式?

我正在尝试在我的公司网站中提供搜索功能,该网站拥有数百万个文档并且所有文档都没有类似的格式,因此很难单独格式化每个文档。

我在 apache 站点上使用Solr 4.1 nightly builds ,它内置了对 solr-cell 和 tika 的支持。即我不需要单独配置它们。

solr-cell 或 tika 会在任何地方保留这些格式吗?

如果它不保留格式,那么我需要使用solr 的resourcename字段从物理文件位置获取每个文档,并应用高亮和其他 solr 现成的功能,但是这个过程太乏味了。

编辑:如果我必须使用 Jayendra 在答案中建议的“HTMLStripCharFilterFactory”,我可以使用什么作为请求处理程序?在这种情况下我还可以提取元数据标签吗?

任何人都可以指导我这件事!

感谢你的支持。!!!

0 投票
4 回答
2093 浏览

pdf - 在solr中获取pdf的搜索结果的页码

我正在构建一个 Web 应用程序,用户可以在其中搜索 pdf 文档并使用 pdf.js 查看它们。我想显示搜索结果,其中包含找到搜索词的段落的简短片段以及在右侧页面打开文档的链接。

所以我需要的是每个搜索结果的页码和一个简短的文本片段。

我正在使用 SOLR 4.1 来索引 pdf 文档。索引本身工作正常,但我不知道如何获取搜索结果的页码和段落。

我在这里找到了“使用 Solr 用页码索引 PDF ”,但这并没有真正的帮助。

0 投票
2 回答
2829 浏览

database - 如何使用 Solr 4.0+ 索引包含为数据库 BLOB 的丰富格式文档?

我找到了一些相关的解决方案来解决这个问题。正如我将解释的那样,相关的解决方案对我不起作用。(我正在使用 Solr 4.0 并索引存储在 Oracle 11g 数据库中的数据。)

Jonck van der Kogel 的相关解决方案(从 2009 年开始)在此处进行了解释。他描述了创建自定义 Transformer,有点像 Solr 附带的 ClobTransformer。这是一条优雅的道路,但没有使用现在与 Solr 集成的 Tika。(他使用外部 PDFBox 和 FontBox。)这会创建多个维护/升级依赖项。此外,除了 PDF 之外,我还需要能够索引 Word 文档。

由于 Kogel 的解决方案似乎走在了正确的道路上,有没有办法在自定义 Transformer 中使用 Solr 包含的 Tika 类?这将允许所有 Tika 功能与 Kogel 优雅的数据库解决方案一起使用。

另一个相关的解决方案是Solr 附带的ExtractingRequestHandler (ERH)。但是,顾名思义,这是一个请求处理程序,例如处理富文本文档的 HTTP 帖子。以这种方式从数据库中提取文档存在性能和安全问题。我必须使数据库 BLOB 可以通过 HTTP 访问。我没有发现关于使用 ERH 从数据库 BLOB 中直接摄取的讨论。是否可以使用 Solr Cell 直接从数据库 BLOB 中摄取?

另一个相关的解决方案是编写一个 Transformer(就像上面的 Kogel 一样)将一个 byte[] 转换为一个字符串(来自 DataImportHandler FAQ)。对于真正的二进制文档,这会将垃圾信息输入索引,而不会像 Tika 那样正确提取文本元素。不会工作。

最后一个相关的解决方案是 RichDocumentHandler 提供的 UpdateRichDocuments。这已被弃用,并且在 Solr 中不再可用。该页面将您引向 ExtractingRequestHandler(如上所述)。

似乎正确的解决方案是使用 DataImportHandler 和使用 Tika 类的客户 Transformer。这是如何运作的?

0 投票
1 回答
594 浏览

apache - Solr:排除某些 HTML 标签或仅在索引中包含某些标签

我目前正在使用 Solr-Cell 来获取几个 html 页面的内容并将它们编入索引。问题是我在标题中有一个菜单,它显示在所有页面上。此菜单及其所有项目都出现在搜索结果中。我不希望这被索引。

你将如何做到这一点?

是否可以排除某些 DIV(带有类名或 id)?

0 投票
1 回答
2937 浏览

solr - Solr 元数据索引

我是 Solr 的新手,我正在通过存储在我的数据库中的 URL 从二进制文件中提取元数据。我想知道哪些字段可用于从 PDF 索引(将作为 column="" 启动的字段)。我还想知道如何在 Solr 中创建自定义字段。它是如何实现并映射到来自文件的特定元数据的。如果有人有可以向我展示的代码片段,将不胜感激。先感谢您。

0 投票
1 回答
456 浏览

solr - 在 ExtractingRequestHandler ("Solr Cell") 中设置最大字符串长度 .. setMaxStringLength()

我正在使用 Solr 和 ExtractingRequestHandler 来索引文档,但我不知道如何执行与 Tika setMaxStringLength() 等效的操作。

它似乎正在索引所有较小的文档,而不是大型文档的所有文本,这可能意味着它没有设置 tika.setMaxStringLength(-1)

是否可以在 solrconfig.xml 中设置值?使用 curl 发布时是否可以将值与其他参数一起传递?

0 投票
1 回答
578 浏览

solr - solr extractingrequesthandler 不是 org.apache.solr.request.SolrRequestHandler

我正在尝试使用 post.jar 来索引包含 pdf 文件的文件夹。我已经添加了请求处理程序,但我在启动时遇到错误。

看起来,它可能是版本冲突或重复的类加载,因此不被识别为 SolrRequestHandler。只是一个想法。

我在带有 iis 的 windows 2008 r2 服务器上运行 solr 3.4。

配置:

日志:

0 投票
1 回答
1608 浏览

java - 在 Solr 中使用 ContentStreamUpdateRequest 设置多值字段

我正在使用 SolrJ+SolrCell 来索引各种 Word/Excel/PDF 文件的内容,但是我希望自己能够设置一些字段(例如 id、名称):

我对普通字段没有任何问题,但我发现当我尝试使用相同的 setParam 方法设置多值字段时,只存储输入数组中的最后一个元素:

例如,如果docProperties.getCategories()是 ["News", "Computers", "Tech"],则存储在多值类别字段中的唯一值是 ["Tech"]。我实际上对此并不感到惊讶,因为我认为使用该setParam方法不是将值附加到多值字段的正确方法。

但是,我不知道如何使用可用的ContentStreamUpdateRequest方法来做到这一点。如果我正在使用 SolrInputDocument,那么只需将数组传递给addField方法即可。

有没有办法使用 ContentStreamUpdateRequest 做同样的事情?