在Solr中添加自定义的comparatorClass类

时间:2014-12-22 06:15:40

标签: sorting solr comparator

我是 Solr 的新手。我想在Solr中添加 自定义comparatorClass 。我还需要在我的 schema.xml 中定义的自定义类中使用字段 - 术语和计数

索引文档的结构:

"docs": [
      {
        "count": 98,
        "term": "age",
      },
      {
        "count": 6,
        "term": "age assan",
      },
      {
        "count": 5,
        "term": "age but",
      },
      {
        "count": 10,
        "term": "age salman",
      }]

我已存储 ngrams 术语及其数量,但 solr 会自行提供频率 >不要需要。我想要为每个学期定义的计数频率。那个术语和计数,我需要使用并希望排序频率(计数),然后编辑距离我需要通过在比较器类中创建自己的类,或者还有其他可以帮助我的东西。请分享..

我该怎么做?请帮忙。 感谢。

1 个答案:

答案 0 :(得分:2)

您应该能够在不实现自定义相似性类的情况下执行此操作。第一个要求是(根据您的描述)对计数值进行直接排序,而后者可以通过对strdist()函数的值进行排序来实现。您还可以使用多个函数将这些值相互相乘或加权in a single sort statement

如果你真的,真的需要建立自己的得分手(我不认为你需要从你的描述中做到) - 这些通常是为了探索其他排名算法而不是tf / idf,bm25等。更大的语料库,对Google的搜索为您提供了许多资源,包括预先制作,易于采用的解决方案。我特别要指出"这是核选项"在Build Your Own Custom Lucene Query and Scorer中:

  

除非您只是想要教育经验,否则构建自定义Lucene Query应该是搜索相关性的“核选项”。它非常繁琐,有许多进出口。如果你真的考虑这个来解决一个真正的问题,你已经走了以下路径[...]