我想问一下如何在我的solr搜索引擎中实现像“WOLF”这样的法语本体。 我的想法是,当我搜索术语“voiture”时,也会给我一些像“car”“wagon”“auto”的结果。
到目前为止,我已经将我的数据编入索引并在我的搜索引擎中实现了一些插件(如词干,拼写检查......),它运行良好。
我打算这样做, 使用我的数据集合在同一个solr中索引所有WOLF本体
所以当我搜索一些术语时,我会查询solr-WOLF数据,以检索同义词,
本地主机:8983 / solr的/狼/ spell1 Q =字%3A($查询);
而不是对真实数据进行另一次查询,
localhost:8983 / solr / data / spell1?q = groupe%3A($ query,$ term1,$ term2);
显示结果。
这可能吗? 我可以使用其他方法,方式或其他方法吗? 任何建议表示赞赏。
提前谢谢你。
答案 0 :(得分:0)
您的方法当然是可行的,尽管可能效率低于使用Solr内置的synonym filter。另外,在查询时你必须要小心,因为在某些情况下(特别是生物医学,我注意到),查询扩展会非常大,大大减慢了响应时间。
您可以将本体的同义词序列化为Solr的同义词格式,然后使用它在索引时添加同义词。
当然,这并不涉及这样一个事实:您可能希望在查询过程中使用本体的结构(即搜索传输的所有“子部分”),这完全是一个不同的问题