Solr入门

Solr入门,solr,lucene,full-text-search,Solr,Lucene,Full Text Search,我正试图开始使用ApacheSolr,但有些事情我并不清楚。通过阅读,我已经设置了一个正在运行的Solr实例。我发现令人困惑的是,Solr的所有配置(模式等)都是XML格式的。当他们添加示例数据时,演示了如何添加xml文档(java-jar post.jar solr.xml monitor.xml)。这仅仅是样本格式的错误选择吗?我的意思是,他们是上传描述文档的数据,还是实际添加的文档是.xml文件 我正在尝试添加一些.txt格式的书籍,所以如果我使用java-jar post.jar myd

我正试图开始使用ApacheSolr,但有些事情我并不清楚。通过阅读,我已经设置了一个正在运行的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">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>

0
1.
在…上
0
蒙塔尼亚
10

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

solr示例通过xml消息将文档添加到索引中。看一看。您提到的
*.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>

请务必理解以下术语:

Document in solr -> Row in RDBMS
Field of document -> Column of a cell
Solr核心当然是数据库和巨大的表,以(潜在的)稀疏方式占用

为了您(特定)的使用,您将为每个文件创建一个文档;由ID、文件内容等组成


XML是组成solr操作的一种方式

它具有添加、删除、提交和优化操作。添加操作包括一个或多个文档

<add>
  <doc>
    <field name="employeeId">05991</field>
    <field name="office">Bridgewater</field>
    <field name="skills">Perl</field>
    <field name="skills">Java</field>
  </doc>
  [<doc> ... </doc>[<doc> ... </doc>]]
</add>
,它可以从各种丰富的文档(DOC、DOCX、PDF)中提取内容(和元数据)。附加:有
literal
来设置您自己的字段


提取请求处理程序将其输出存储到字段
text
。查询解析器
q=
和高亮显示的假定
文本的默认字段(是的,它与您所做的相关)。您可以为它们指定字段;此外,字段solr将在结果中返回给您

<add>
  <doc>
    <field name="filename">test.txt</field>
    <field name="content">Test with some UTF-8 encoded characters</field>
  </doc>
</add>
Document in solr -> Row in RDBMS
Field of document -> Column of a cell
<add>
  <doc>
    <field name="employeeId">05991</field>
    <field name="office">Bridgewater</field>
    <field name="skills">Perl</field>
    <field name="skills">Java</field>
  </doc>
  [<doc> ... </doc>[<doc> ... </doc>]]
</add>