我是Solr的初学者。我将books.json推入Solr,看起来像
{
"id" : "978-0641723445",
"cat" : ["book","hardcover"],
"name" : "The Lightning Thief",
"author" : "Rick Riordan",
"series_t" : "Percy Jackson and the Olympians",
"sequence_i" : 1,
"genre_s" : "fantasy",
"inStock" : true,
"price" : 12.50,
"pages_i" : 384
}
然后我改变了" name"的模式。至
<field name="name" type="text_general"/>
其他一切都没有改变。 Solr中的分析给出了正确的分割。但是,当我运行查询http://localhost:8983/solr/testCore/select?facet.field=name&facet=on&indent=on&q=*:*&wt=json
时
输出未分段:
"facet_counts":{
"facet_queries":{},
"facet_fields":{
"name":[
"Lucene in Action, Second Edition",1,
"Sophie's World : The Greek Philosophers",1,
"The Lightning Thief",1,
"The Sea of Monsters",1]},
"facet_ranges":{},
"facet_intervals":{},
"facet_heatmaps":{}}}
任何人都可以解释原因吗?
答案 0 :(得分:0)
更改字段的定义后(除非您仅更改具有单独查询和索引链的分析链的“查询”部分),否则您必须重新编制内容的索引。
由于构面模块适用于索引中生成的实际令牌,因此您必须清除旧索引并重新索引所有内容,以便再次处理每个值并将其划分为与您要查找的行为相匹配的标记
如果重新编制索引时所有文档仍然存在(因此所有旧ID仍然存在),则不必先清除索引,因为所有旧标记都将被覆盖。但是要确保您可以先删除所有内容,然后重新编制内容索引并查看新标记。
只要在两者之间不发生提交,您也可以在生产中执行此操作;首先发出删除,然后重新索引然后提交。在提交发生之前,所有旧数据仍然可用(但请注意,当您处理索引时,其他线程或其他代码可以发出提交,因此请确保您是唯一首先发出提交的人)。 / p>