我想爲我的搜索使用同義詞。 所以我定義了一個'同義詞'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那樣容易維護同義詞我猜?
感謝閱讀和問候