我想为我的搜索使用同义词。 所以我定义了一个'同义词'fieldType in schema.xml。Solr 6.5.1 - 以编程方式管理同义词
<fieldType name="foo" class="solr.TextField" positionIncrementGap="100">
<analyzer type="query">
<tokenizer class="solr.StandardTokenizerFactory" />
<filter class="solr.ManagedSynonymFilterFactory" managed="german" />
<!--<filter class="solr.SynonymGraphFilterFactory" ignoreCase="true" expand="true" managed="german" />-->
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
这字段类型所使用的字段:
<field name="test" type="foo" required="true" />
现在我通过API添加同义词到Solr(6.5.1),这样我可以保持经更新的同义词网络后端,例如
curl -X PUT -H 'Content-type:application/json' --data-binary '["mad","angry","insane"]}' "http://localhost:8983/solr/core/schema/analysis/synonyms/german"
这是非常酷,并添加预期的作品。 我可以看到他们通过:
http://localhost:8983/solr/core/schema/analysis/synonyms/german
我的问题是,这需要重新索引,他们的工作之前,即使我使用的查询时间,而不是指数的时间。
是否有可能在不重新编制索引的情况下“即时”管理同义词?
我的印象是,只要我使用查询时间,但这不适合我,所以我想我做错了什么?
我是否必须通过API使用synonyms synony.txt来实现这个目标?
但是,文本文件不会像API那样容易维护同义词我猜?
感谢阅读和问候