我让我的 SOLR 工作了,它工作得很好,但我不知道托管模式到底是什么,因为我确实使用了默认版本,我在其中添加了几行我需要的行
<field name="id" type="string" indexed="true" stored="true" required="true" multiValued="false" />
<field name="name" type="text_general" indexed="true" stored="true" default="" />
<field name="brand_id" type="string" indexed="true" stored="true" required="true" multiValued="false" />
<field name="brand_name" type="text_general" indexed="true" stored="true" default="" />
<field name="type" type="string" indexed="true" stored="true" required="true" default="0" />
Run Code Online (Sandbox Code Playgroud)
我不能包含完整的文件,因为就像 700 行......但完整的 xml 在这里http://pastebin.com/Z9nc36QD
我是否必须将所有内容都保留为默认示例?我不知道...你有一个典型的模式文件的例子吗?
您应该使用 Solr 的 Schema API。更多信息可以在这里找到:https : //lucene.apache.org/solr/guide/7_2/schema-api.html
这基本上意味着您curl -X POST从 shell发出(到 localhost)来编辑文件。
例子:
:curl -X POST -H 'Content-type:application/json' --data-binary '{
"add-field-type" : {
"name":"myNewTxtField",
"class":"solr.TextField",
"positionIncrementGap":"100",
"analyzer" : {
"charFilters":[{
"class":"solr.PatternReplaceCharFilterFactory",
"replacement":"$1$1",
"pattern":"([a-zA-Z])\\\\1+" }],
"tokenizer":{
"class":"solr.WhitespaceTokenizerFactory" },
"filters":[{
"class":"solr.WordDelimiterFilterFactory",
"preserveOriginal":"0" }]}}
}' http://localhost:8983/solr/gettingstarted/schema`
Run Code Online (Sandbox Code Playgroud)
个人评论
现在是 2018 年,他们现有的管理控制台确实应该有一个 Web 界面来构建和发出这些 localhost 命令。我知道如果有动物园管理员,事情会变得棘手,但在单个服务器上的基本探索应该是微不足道的,而目前不是。这种方法将显示格式化的curl命令,以便培训新开发人员正确使用。
开发人员必须将这样的文档中的 xml 转换为用于 POST 的正确 json。
<fieldType name="text_general" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true"
words="stopwords.txt" />
<!-- in this example, we will only use synonyms at query time
<filter class="solr.SynonymFilterFactory"
synonyms="index_synonyms.txt" ignoreCase="true" expand="false"/>
-->
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.StopFilterFactory"
ignoreCase="true" words="stopwords.txt" />
<filter class="solr.SynonymFilterFactory"
synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7454 次 |
| 最近记录: |