我已经阅读了几个教程并浏览了Solr文档.但有一点我不清楚.让我解释:
让我们假设以下文件应编入索引:
<doc>
<field name="id">R12345</field>
<field name="title">My title</field>
<field name="content">My Content</field>
</doc>
Run Code Online (Sandbox Code Playgroud)
与此文档相反,索引应包含一个名为"docType"的额外字段.应使用"完成规则"填充此额外索引字段.这背后的想法:
如果id以字符"R"开头,则将字符串"Resolve"写入索引中的字段docType.如果id以字符"C"开头,则将字符串"Contribute"写入索引中的字段docType.
上述文档应在索引中提供,并包含以下字段:
id=R12345
title=My Title
content=My Content
docType=Resolve
Run Code Online (Sandbox Code Playgroud)
我的想法是为此使用分析器.然后,分析器的结果将像往常一样写入索引中的字段"id"(仅原始文本的副本),但结果"Resolve"或"Contribute"应写入另一个字段.
我的基本问题是:如何在分析器(Java snipped)中实现这一目标?为了使其更复杂,索引字段"docType"应该是可搜索的,并且必须在搜索结果中可用.架构id和docType的架构如何?
在此先感谢Tobias