按照this SDN document (PDF)中的说明,我在Sitecore 6.3网站上添加了一个自定义Lucene索引(或者我认为):
<indexes>
的{{1}}部分,我添加了索引定义:<indexes> ... <index id="website" singleInstance="true" type="Sitecore.Data.Indexing.Index, Sitecore.Kernel"> <param desc="name">$(id)</param> <fields hint="raw:AddField"> <field target="created">__created</field> <field target="name">@name</field> <field target="body">body</field> <field target="template" storage="keyword">@tid</field> <field target="id" storage="unindexed">@id</field> </fields> </index> </indexes>
web.config
数据库:<database id="master" ...> ... <indexes hint="list:AddIndex"> ... <index path="indexes/index[@id='website']" /> </indexes> </database>
master
数据库已设置master
(默认情况下),因此我没有进行任何其他配置更改。我可以验证HistoryEngine
索引是否正确填充,因为Sitecore Desktop中的搜索应用程序能够找到项目,system
目录中充满了Lucene索引文件。< / p>
但是,尽管~/Data/indexes/master/system
目录是自动创建的,但其中没有索引文件,并且尝试在我的子布局中执行搜索会导致以下~/Data/indexes/master/website
(为简单起见,路径缩写):
在Sitecore.Data.Indexing.FSDirectory@~/Data/indexes/master/website:files:
中找不到segment *文件
我需要做些哪些其他更改才能让Sitecore识别新索引?
答案 0 :(得分:1)
在做了一些实验/研究之后,我发现实际上没有必要进行其他配置。
按照this blog post中的说明,我只是重建了主数据库的搜索索引,一切都开始工作了!
但是,我必须密切注意它;我认为搜索索引会每5分钟自动更新一次(基于Indexing.UpdateInterval
设置的值)。