pis*_*hio 6 lucene solr full-text-search
我正在尝试使用Apache Solr,但有些事情对我来说并不清楚.阅读教程,我已经设置了一个正在运行的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>
Run Code Online (Sandbox Code Playgroud)
当我尝试发布文件时,我得到了这样的回复:
<response>
<lst name="responseHeader">
<int name="status">0</int>
<int name="QTime">26</int>
</lst>
</response>
Run Code Online (Sandbox Code Playgroud)
它是否正确?这是否意味着我已经成功添加了我的文件?如果是这样,文件中的一个单词,例如"montagna"(这是一本意大利书,montagna意味着山......).如果我访问网址
http://localhost:8983/solr/select/?q=montagna&start=0&rows=10&indent=on
Run Code Online (Sandbox Code Playgroud)
我希望可以返回一些内容(可能是整篇文章,或者有关该文件的一些信息),但这是我得到的:
<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>
Run Code Online (Sandbox Code Playgroud)
似乎不适合我.此外,根据这个答案,我应该能够找回比赛周围的文字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>
Run Code Online (Sandbox Code Playgroud)
它只是一种表示索引的任何文档的方式.每个文档都包含一个或多个字段,依此类推.有不同的方法可以向Solr添加文档,例如它也接受CSV格式,但最常见的是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>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1523 次 |
| 最近记录: |