用于配置solr实例的zc.buildout
collective.recipe.solrinstance的Python项目详细描述
配置solr实例的配方
内容
- 贡献者
- 下载
配方配置solr索引服务器的实例。索尔
是一个基于
Git存储库和问题跟踪程序: https://github.com/collective/collective.recipe.solrinstance
注意事项
- 此配方版本支持Solr3.5、4.x(包括4.0、4.1、4.2 4.5)。如果您使用Solr 1.4,请使用2.x系列的发行版。
- 此版本仅支持genshi模板。请使用释放 小于5.x,如果您需要模板化而不需要 支持Python3。如果需要Python3支持,则必须转换 使用genshi文本模板语言的任何自定义模板。
支持的选项
配方支持以下选项。
solr服务器
< dl >服务器上solr服务的基本路径。指向 Solr服务将由以下人员组成:
$host:$port/$basepath
实际命令将附加到其中。默认为 /solr
extralibs = /my/global/java/path some/special/libs:.*\.jarx
可选。传递给Java虚拟机(JVM)的参数 奔跑。每个选项都在单独的行上指定。 例如:
[solr-instance] ... java_opts = -Xms512M -Xmx1024M ...
Solr配置
< dl >缓存选项
查询缓存的细粒度控制,如 http://wiki.apache.org/solr/solrcaching
支持的选项有:
- 过滤器缓存大小
- 过滤器缓存初始大小
- 过滤器cacheautowarmcount
- 查询结果缓存大小
- 查询结果缓存初始大小
- 查询结果缓存自动计算
- 文档缓存大小
- 文档缓存初始大小
- 文档缓存自动计算 (仅适用于Solr 4)
模式
< dl >为默认字段类型的分析器配置筛选器。 它们接受由给定的令牌赋予器生成的令牌并对其进行处理 在序列中添加、更改或移除标记。在所有过滤器之后 已应用,生成的令牌流将被索引到给定的 字段
此选项适用于给定字段的默认分析器–通过 默认情况下,solr认为这适用于 查询 和 索引 分析器。如果要配置单独的分析器,请参见 过滤查询和过滤R-索引 下面的选项。
每个过滤器在单独的线路上配置,每个过滤器将 按指定顺序应用于令牌(在solr操作期间)。
每行的内容应如下:
text solr.EdgeNGramFilterFactory minGramSize="2" maxGramSize="15" side="front"
在上面的示例中:
- text 是内置字段类型之一的 类型;
- solr.edgengramfilterfactory 是此筛选器的 类;并且
- mingramsize="2" maxgramsize="15" side="front" 是参数 过滤器的配置。它们应该格式化为xml 属性。
默认情况下,对于默认分析器(同时是查询 和索引 ):
-
文本
字段使用:
-
过滤
- Solr.icufoldingFilterFactory工厂
- solr.worddelimiterfilterfactory
- Solr.TrimFilterFactory公司
- Solr.StopFilterFactory工厂
要抑制默认行为,请相应地配置 过滤器 选项。 如果不需要过滤器,则在 构建配置。在你不想的情况下这很有用 默认筛选器,并希望完全控制 每台分析仪。
检查Solr文档中的可用过滤器: http://wiki.apache.org/solr/analyzerstokenizerstokenfilters"tokenfilters"
仅为 查询 分析器的默认字段类型配置筛选器。 此选项类似于 过滤器,但仅适用于 查询 分析器 对于给定的字段。
配置语法与上面的 filter 选项相同。选项 此处指定的将添加到任何适用于 过滤器 选项。
仅为分析程序配置默认字段类型的筛选器。 此选项类似于 过滤器,但仅适用于 索引 分析器 对于给定的字段。
配置语法与上面的 filter 选项相同。选项 此处指定的将添加到任何适用于 过滤器 选项。
为 默认字段类型。这些是输入字符的预处理器 在solr字段或查询(使用和生成字符流)中 可以在保留字符位置的同时添加、更改或删除字符 信息
此选项适用于给定字段的默认分析器–通过 默认情况下,solr认为这适用于 查询 和 索引 分析器。如果要配置单独的分析器,请参见 字符筛选查询和下面的字符筛选索引选项。
每个char过滤器都在一个单独的行上配置,如下所示 配置语法,如上面的 filter 选项。每个字符过滤器将 按指定顺序应用于令牌(在solr操作期间)。
默认情况下,没有为任何分析器指定字符过滤器。
有关可用字符筛选器的信息,请参阅 Solr的文档: http://wiki.apache.org/solr/analyzerstokenizerstokenfilters charfilterfactories
为查询分析器的默认字段类型配置字符过滤器 只有。此选项类似于字符过滤器,但仅适用于 查询给定字段类型的分析器。
配置语法与上面的 过滤器选项相同. 选项 此处指定的将添加到任何适用于 字符过滤器 选项。
为索引分析器的默认字段类型配置字符过滤器 只有。此选项类似于字符过滤器,但仅适用于 索引 给定字段类型的分析器。
配置语法与上面的 filter 选项相同。选项 此处指定的将添加到任何适用于 字符过滤器 选项。
为默认字段类型的分析器配置标记器。
此选项适用于给定字段的默认分析器–通过 默认情况下,solr认为这适用于 查询 和 索引 分析器。如果要配置单独的分析器,请参见 下面的标记器查询和标记器索引选项。
每个标记器都在一个单独的行上配置,如下所示 配置语法,如上面的 filter 选项。只有一个标记器 可以为给定字段类型的每个分析器类型指定。如果您指定 同一字段类型的多个标记器,最后一个指定的将 优先考虑。
默认情况下,对于默认分析器(同时是查询 和索引 ):
< Buff行情>- 使用solr.icutokinezerfactory标记字段
- 使用 solr.whitespacetokenizerFactory工厂
为查询分析器的默认字段类型配置标记赋予器 只有。此选项类似于标记器,但仅适用于 查询给定字段类型的分析器。
配置语法与上面的 filter 选项相同。 此处指定的选项将覆盖使用main 标记器 选项。例如,如果您指定了 在 tokenizer 选项中的tokenizer,并重新指定另一个 这里的文本 标记器,则优先。其他领域 如果不重写,类型将不受影响。
为索引分析器的默认字段类型配置标记器 只有。此选项类似于标记器,但仅适用于 索引 给定字段类型的分析器。
配置语法与上面的 filter 选项相同。 此处指定的选项将覆盖使用main 标记器 选项。例如,如果您指定了 在 tokenizer 选项中的tokenizer,并重新指定另一个 这里的文本 标记器,则优先。其他领域 如果不重写,类型将不受影响。
配置 Solr实例。每个字段都配置在一个单独的行上。各 行包含空格分隔的 [键]:[值]列表 定义与索引关联的选项的对。共同的 字段选项详见 http://wiki.apache.org/solr/schemaxml謺common謺u field謺options 和 如以下示例所示。
这里支持一个特殊的 [键]:[值] 对来支持 拷贝 字段 ;如果指定 copyfield:dest_field ,则a <;copyfield>; 声明将包含在将给定字段复制到的架构中 目的地字段
位于
additionalFieldConfig = <dynamicField name="..." type="string" indexed="true" stored="true" />
默认为 '' (空字符串)。
多核
以下选项仅适用于 collective.recipe.solrinsity:mc 为 明确规定。如果使用的是普通配方,则它们是可选的。 solr实例部分中定义的所有选项都将继承到核心。 核心可以覆盖以前定义的选项。
< dl >对应的构建配置节的标识符列表 单个Solr核心配置。指定的每个标识符将 根据给定的选项处理与之相关的部分 为每个核心生成solr配置文件。参见多核 例如solr。
指定的每个标识符将导致solr instancedir 被 为solr的 solr.xml中的每个核心创建和条目 配置。
Zope集成
< dl >生成到的配置段的可选重写 被其他配方包含在zope.conf中。默认为:
<product-config ${part:section-name}> address ${part:host}:${part:port} basepath ${part:basepath} </product-config>
示例
单个解决方案
一个简单的例子,说明单个solr配置可以是这样的:
[buildout] parts = solr-download solr [solr-download] recipe = hexagonit.recipe.download strip-top-level-dir = true url = http://mirrorservice.nomedia.no/apache.org//lucene/solr/3.5.0/apache-solr-3.5.0.zip [solr] recipe = collective.recipe.solrinstance solr-location = ${solr-download:location} host = 127.0.0.1 port = 1234 max-num-results = 500 section-name = SOLR unique-key = uniqueID index = name:uniqueID type:string indexed:true stored:true required:true name:Foo type:text copyfield:Baz name:Bar type:date indexed:false stored:false required:true multivalued:true omitnorms:true copyfield:Baz name:Foo bar type:text name:Baz type:text name:Everything type:text filter = text solr.LowerCaseFilterFactory char-filter-index = text solr.HTMLStripCharFilterFactory tokenizer-query = text solr.WhitespaceTokenizerFactory additional-schema-config = <copyField source="*" dest="Everything"/>
多核解决方案
要为多个核心配置solr,必须使用 集体配方溶液度:mc 配方。多核solr的一个例子 配置如下:
[buildout] parts = solr-download solr-mc [solr-download] recipe = hexagonit.recipe.download strip-top-level-dir = true url = http://mirrorservice.nomedia.no/apache.org//lucene/solr/3.5.0/apache-solr-3.5.0.zip [solr-mc] recipe = collective.recipe.solrinstance:mc solr-location = ${solr-download:location} host = 127.0.0.1 port = 1234 section-name = SOLR directoryFactory = solr.NRTCachingDirectoryFactory cores = core1 core2 [core1] max-num-results = 99 unique-key = uniqueID index = name:uniqueID type:string indexed:true stored:true required:true name:Foo type:text copyfield:Baz name:Bar type:date indexed:false stored:false required:true multivalued:true omitnorms:true copyfield:Baz name:Foo bar type:text name:Baz type:text name:Everything type:text filter = text solr.LowerCaseFilterFactory char-filter-index = text solr.HTMLStripCharFilterFactory tokenizer-query = text solr.WhitespaceTokenizerFactory text solr.LowerCaseFilterFactory additional-schema-config = <copyField source="*" dest="Everything"/> [core2] max-num-results = 66 unique-key = uid index = name:uid type:string indexed:true stored:true required:true name:La type:text name:Le type:date indexed:false stored:false required:true multivalued:true omitnorms:true name:Lau type:text filter = text solr.LowerCaseFilterFactory char-filter-query = text solr.HTMLStripCharFilterFactory tokenizer-index = text solr.WhitespaceTokenizerFactory