solr schema.xml的一个很好的起点

时间:2016-06-07 11:22:33

标签: solr

我试图开始使用solr。我的想法是只有一个文本字段被索引(和搜索)并从中扩展。这是我到目前为止所得到的:

String str = String.valueOf(jsonObject);
虽然文档说它不是强制性的,但是solr已经因为需要_version_字段而让我发疯了。无论如何,现在我收到了这个错误:

<?xml version="1.0" encoding="UTF-8" ?>
<schema>
<types>
<fieldType name="long" class="solr.TrieLongField"/>
<fieldType name="text" class="solr.TextField"/>
</types>
<fields>
<field name="_version_" type="long" multiValued="false"/>
<field name="topic" type="text"/>
</fields>
</schema>

我只是不明白这是什么。

我尝试的下一件事是将包含的托管架构重命名为 schema.xml 。这并没有给我任何错误,但这个文件超过1000行!无数类型,字段,copyFields等。现在我想我可以尝试将该文件删除到我的需要,但我宁愿走另一条路并构建一个。

因此我的问题是:是否有一个可以用来构建的最小的工作模式?

2 个答案:

答案 0 :(得分:2)

错误消息是由启用queryEleveationComponent引起的,这需要名为string的字段类型才能工作。您可以禁用该字段,也可以添加字符串类型(无论如何您可能需要它):

<fieldType name="string" class="solr.StrField" />

StrFields不会被标记化(拆分为部分)或以任何方式处理,因此它们非常适合过滤和精确搜索。

答案 1 :(得分:1)

问题是 solrconfig.xml 中预先配置的所有其他内容。我刚推动a minimal example用于培训项目。它适用于Solr 5.5,而不是6.0,但它应该给你一个非常好的方向。

这使用静态模式方法,而不是托管模式方法,这是Solr 6中的默认方法。因此,这是要记住的差异之一。