gpt4 book ai didi

solr - Solr 入门

转载 作者:行者123 更新时间:2023-12-04 15:02:42 27 4
gpt4 key购买 nike

我正在尝试开始使用 Apache Solr,但有些事情我不清楚。通读tutorial ,我已经设置了一个正在运行的 Solr 实例。我感到困惑的是 Solr 的所有配置(架构等)都是 XML 格式的。当他们添加示例数据时,它显示了如何添加 xml 文档 ( java -jar post.jar solr.xml monitor.xml )。这只是样本格式的错误选择吗?我的意思是,他们是上传描述文档的数据,还是他们添加的实际文档是 .xml 文件?

我正在尝试添加一些 .txt 格式的书籍,所以如果我使用 java -jar post.jar mydoc.txt ,我加了吗?我如何添加此文档和有关它的元数据(作者、标题)?

也就是说,我尝试设置一个简单的 Html 页面来将文档发布到 Solr:

<html>
<head></head>
<body>
<form action="http://localhost:8983/solr/update?commit=true" enctype="multipart/form-data" method="post">
<input type="file">
<input type="submit" value="Send">
</form>
</body>
</html>

当我尝试发布文件时,我收到以下回复:
<response>
<lst name="responseHeader">
<int name="status">0</int>
<int name="QTime">26</int>
</lst>
</response>

这样对吗?这是否意味着我已成功添加我的文件?如果是这样,例如文件中的一个词是“montagna”(这是一本意大利书,montagna 的意思是山……)。如果我访问网址
http://localhost:8983/solr/select/?q=montagna&start=0&rows=10&indent=on

我希望返回某些内容(可能是整个文本,或有关文件的一些信息),但这就是我得到的:
<response>
<lst name="responseHeader">
<int name="status">0</int>
<int name="QTime">1</int>
<lst name="params">
<str name="indent">on</str>
<str name="start">0</str>
<str name="q">montagna</str>
<str name="rows">10</str>
</lst>
</lst>
<result name="response" numFound="0" start="0"/>
</response>

对我来说似乎不匹配。另外,根据 to this answer ,我应该能够用 hl.fragsize 取回匹配项周围的文本。 .如何将其集成到搜索字符串中?谢谢

最佳答案

solr 示例通过 xml 消息将文档添加到索引中。看看 here . *.xml您提到的是因为文件系统上存储了一些 xml 消息。那些 xml 消息是这样的:

<add>
<doc>
<field name="id">UTF8TEST</field>
<field name="name">Test with some UTF-8 encoded characters</field>
<field name="manu">Apache Software Foundation</field>
<field name="cat">software</field>
<field name="cat">search</field>
<field name="features">No accents here</field>
<field name="price">0</field>
<!-- no popularity, get the default from schema.xml -->
<field name="inStock">true</field>
</doc>
</add>

这只是一种表示要索引的任何类型文档的方法。每个文档都包含一个或多个字段,依此类推。有多种方法可以将文档添加到 Solr,例如它也接受 CSV format ,但最常见的是现在的 xml 格式。

我认为你实际上并没有索引任何东西。您可以检查此查询的输出: http://localhost:8983/solr/select/?q=*:*它检索索引中的所有文档。一个常见的错误也是忘记提交,但是我看到你添加了 commit=true参数到您的网址,所以这不是您的情况。

如果您只想索引文本文件的内容,例如可以使用两个字段定义架构:
  • 文件名
  • 内容

  • 并使用此消息为您的文档编制索引:
    <add>
    <doc>
    <field name="filename">test.txt</field>
    <field name="content">Test with some UTF-8 encoded characters</field>
    </doc>
    </add>

    关于solr - Solr 入门,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9157674/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com