今天在测试一个solr的排序问题的时候,突然建立不了索引了,我用的分布式的solrCloud(4.7.2版本),报一个异常—— org.apache.solr.client.solrj.impl.CloudSolrServer$RouteException: ERROR: [doc=0] cannot set an index-time boost, unindexed or norms are omitted for field cat: cat,大意是对于不建立索引或者标准因子忽略的域不能使用boost,然后我看了一下我的scheme.xml中cat域的配置
<field name="cat" type="string" indexed="true" stored="true" multiValued="true"/>
确实没有写omitNorm的属性, 从这里可以总结出,如果不写的话默认就是true,即忽略标准因子。此时如果再在这个域中设置boost,就会抛那个异常
for(int i=0;i<10;i++){ SolrInputDocument d = new SolrInputDocument(); // d.setDocumentBoost(i); d.addField("id", i); d.addField("cat", "cat",i);//用i作为标准因子,结果报错了,问题就出在这里, list.add(d); }
所以如果一个域要使用标准银子的话必须要手动的设置omitNorm= false才可以,不然就会报错。
此处很容易要联想到另一个地方,即可以在document层面设置boost,如果这样做的话,对于设置和没有设置omitNorm的域会有什么结果呢?我自己做了一下实验,结论如下:
1、如果这个域设置了omitNorm=true,即忽略标准银子,则在使用这个域进行查询的时候标准银子不会有作用,但是不会抛异常。
2、如果设置了omitNorm=false,即不忽略标准银子,则在使用这个域进行查询的时候标准银子会起作用。
相关推荐
- **solr.NRTCachingDirectoryFactory**:为近实时搜索优化,将部分索引缓存在内存中以提高检索速度。 - **solr.RAMDirectoryFactory**:纯内存存储方案,不适合持久化存储,数据可能会丢失。 - **示例配置**: ...
接着,在Solr的schema.xml配置文件中,我们需要定义一个使用mmseg4j的分析器。通常,这涉及到创建一个新的字段类型,并配置对应的分析器,如`<fieldType name="text_mmseg" class="solr.TextField">`,然后在`...
3. **配置与部署**:Solr的配置文件位于`conf`目录下,包括schema.xml(定义字段和字段类型)、solrconfig.xml(配置索引和查询参数)等。用户可以根据需求自定义这些配置。部署Solr通常涉及解压下载的`solr-4.10.3....
### Solr中的schema.xml详解 在Solr搜索服务器中,`schema.xml` 文件扮演着核心配置文件的角色,它定义了索引字段、字段类型以及其他与数据结构相关的设置。正确理解和配置`schema.xml`对于实现高性能的全文检索...
描述中提到,你需要修改`wen.xml`中的`solrhome`路径,但默认情况下,Solr的配置文件应该是`server/solr/solr.xml`。在这个文件中,你应找到类似`<solr persistent="true">`的元素,里面包含各个核心的配置。确保这...
每个核心有自己的配置,如字段类型、字段配置、搜索处理链等,这些都在`conf`目录下的`schema.xml`、`solrconfig.xml`等文件中定义。 此外,Solr还支持多种数据源的接入,例如文件系统、数据库等,通过数据驱动的...
其中,`solr.xml`是Solr的全局配置文件,`configsets`包含了预定义的配置集,可以快速创建和配置索引。 3. **dist** 文件夹:包含Solr的JAR文件和相关的依赖库,这些文件在启动Solr时会被加载。 4. **docs** ...
主要的配置文件位于 `solr-8.8.1/server/solr/configsets/_default/conf` 目录下,包括 `solrconfig.xml` 和 `schema.xml`。这些文件定义了索引和查询的行为。 启动 Solr 需要 Java 运行环境。确保已安装 Java 8 或...
1. **配置**:根据你的需求修改配置文件,如`solr/solr.xml`,以设置Solr云或者单节点实例。 2. **启动**:使用Java运行时环境(JRE)启动Solr。在Solr的bin目录下,有启动和停止脚本,如`start.sh`和`stop.sh`。 3....
通常,这会涉及到修改 `server/solr/solr.xml` 文件来配置核心(collection)和数据目录。 综上所述,这个压缩包提供了一个完整的 Solr 8.5.2 配置实例,适用于需要对 MySQL 数据库中的中文文本进行全文搜索的场景...
无意间从"随-忆"的博客中看到了如何去修改源代码,从而让分词器能够适应6.x的版本,亲自尝试了一下,果然可以,于是奉上了自己重新编译的jar包。 6.x的版本,我一共编译了3个,如下。理论上6.0.0的jar包就可以支持...
3. **启动Solr**:运行`bin/solr start`启动Solr服务器,首次启动会生成默认的`solr.xml`配置文件。 4. **创建Core**:Solr的核心概念是Core,每个Core代表一个独立的搜索实例。使用`bin/solr create -c mycore`...
为了启动 Solr,你需要配置 solr.in.sh(Linux)或 solr.in.cmd(Windows),设置 Java 安装路径和堆大小。然后,通过运行 bin/solr start 命令启动 Solr 服务器。接着,你可以通过浏览器访问 ...
- **server**:包含Solr服务器的核心组件,如`solr.xml`配置文件、`lib`目录下的库文件和`solr-core`目录。 - **dist**:存放Solr的JAR文件和其他分发文件。 - **example**:是一个预配置的示例,帮助新手快速上手...
你需要知道如何配置Solr核心(core)以满足你的需求,这可能涉及到创建和修改`solrconfig.xml`(配置文件)、`schema.xml`(定义字段和分析器)和`managed-schema`(在较新版本中,用于替代`scheam.xml`)。...
《Solr.3.1.Cookbook》是一本专注于Apache Solr搜索引擎的实践指南,而提供的"Solr.3.1.Cookbook_Code"压缩包则包含了书中所讲解的源代码示例。Solr是基于Lucene的全文搜索服务器,它提供了一个高效、可扩展的搜索...
5. **配置和优化**:根据你的需求,你可能需要自定义Solr配置,如修改`solrconfig.xml`(配置索引和查询行为)、`schema.xml`(定义字段和字段类型)等文件。此外,还可以配置复制和负载均衡策略以提高可用性。 6. ...
4. **solr-8.2.0/server**:这是Solr的核心服务器组件,包括Jetty服务器配置、Solr的配置文件(如solrconfig.xml和schema.xml)、启动脚本以及Solr的JAR文件。 5. **solr-8.2.0/solr**:包含了默认的Solr集合(core...
<fieldType name="text_ik" class="solr.TextField"> <tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" useSmart="false"/> <tokenizer class="org.wltea.analyzer.lucene....
- 在`apache-tomcat-5.5.26\conf\Catalina\localhost\`目录下新建`solr.xml`文件,配置如下: ```xml <?xml version="1.0" encoding="UTF-8"?> <Environment name="solr/home" type="java.lang.String" value=...