managed_schema

Managed_schema是在使用solr建立core时的配置(core连接配置和索引库),solr根据它确定如何对文档建立索引到索引库中,每个core在建立前都需要设计好managed_schema。本文就managed_schema包含什么?如何设计managed_schema做说明。

如何设计文档索引

在solr和lucene中,每个文档可以解析成一个document,document有field集合组成,field的形式可以为多种,比如filed可以为作者,标题,内容等,field也可以为时间,长度等,document是一系列描述全文的field的集合。Lucene便是将docement进行建立索引的java库,solr为使用lucene实现的一个服务程序,可以说solr是lucene的一个封装。

当我们有一系列documents时,我们想要对每个docement中需要建立索引的部分进行自定义设定,比如当我们有一篇论文,它可以分成<题目,作者,时间,关键字,地址,内容>这样的field集合,其中作者和关键字这样的field可以包含多个值,作者一般包含学生名字和导师名字。现在,我们想要对该片论文建立全文索引,我们希望可以通过某个field中的值能够搜索到它,比如题目,或者某个关键字,但我不希望通过某些field比如地址搜索到该论文,所以想要建立索引的第一个问题为:你希望哪些field可以用于检索?当检索到该文档后,我们希望看见该文档中的题目,地址,内容等属性,那么想要建立索引的第二个问题为:你希望哪些属性可以展示给大家看?同时某个field可能包含多个值,比如关键字,所以建立索引的第三个问题为:我想指定某个field为多值。

当你想要建立索引时,首先考虑上面三个问题,在solr中,这些问题都可以按照你的设计运行,那就是对managed_schema进行配置。如以下内容:

<field name="id" type="string" indexed="true" stored="true" required="true" multiValued="false" />

本句中name指定field名;

type指定该field的内容的类型,需要与managed_schema后面的<fieldType name="string" class="solr.StrField" sortMissingLast="true" />进行对应;

indexed表明该属性是否进行检索,也就是是否需要建立索引,它的值域为{“true”,“false”}当值为true时则建立索引;

stored的值域也为{“true”,”false”},该选项确定该属性是否用于展示,当设置为”true”时,该field的值将写入索引库中,在检索时,该选项用于返回展示,如果为false则不存储该field并且不做展示。需要申明的是一个值可以同时检索和展示即indexed选项和stored选项可以同时为”true”。

Required值域为”true”时,每个上传到该索引库的文档都要求包含本field,如果需要建立的文档中并不包含该field则拒绝对其建立索引。

multiValued配置是否为多值选项,如果值为”true”则为多值,比如刚刚我们说的关键字。

 

managed-schema格式

managed-schema文档的格式如下:

< schema >
   < types >
   < fields >  
   < uniqueKey >
   < copyField >
</ schema >
最常用的也就是我上边说过的types用来指定field数据类型,分词方式,检索等。fileds用于配置field的名字,filed类型,是否检索,是否存储,是否多值等信息。

 

转载于:https://www.cnblogs.com/honeyqiong/p/5534274.html

{ "manifest_version": 3, "name": "My V3 Extension", "version": "versionString", "action": {}, "default_locale": "en", "description": "A plain-text description", "icons": {}, "action": , "author": , "automation": , "background": { "service_worker": }, "chrome_settings_overrides": {}, "chrome_url_overrides": {}, "commands": {}, "content_capabilities": , "content_scripts": [{}], "content_security_policy": "policyString", "converted_from_user_script": , "current_locale": , "declarative_net_request": , "devtools_page": "devtools.html", "differential_fingerprint": , "event_rules": [{}], "externally_connectable": { "matches": ["*://*.contoso.com/*"] }, "file_browser_handlers": [], "file_system_provider_capabilities": { "configurable": true, "multiple_mounts": true, "source": "network" }, "homepage_url": "http://path/to/homepage", "host_permissions": [], "import": [{"id": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"}], "incognito": "spanning, split, or not_allowed", "input_components": , "key": "publicKey", "minimum_chrome_version": "versionString", "nacl_modules": [], "natively_connectable": , "oauth2": , "offline_enabled": true, "omnibox": { "keyword": "aString" }, "optional_permissions": ["tabs"], "options_page": "options.html", "options_ui": { "chrome_style": true, "page": "options.html" }, "permissions": [""], "platforms": , "replacement_web_app": , "requirements": {}, "sandbox": [], "short_name": "Short Name", "side_panel": {}, "storage": { "managed_schema": "schema.json" }, "system_indicator": , "tts_engine": {}, "update_url": "http://path/to/updateInfo.xml", "version_name": "aString", "web_accessible_resources": [] } 请以表格的显示列出在扩展开发每个属性的作用
07-24
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值