Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sorting 在Solr中添加自定义comparatorClass类_Sorting_Solr_Comparator - Fatal编程技术网

Sorting 在Solr中添加自定义comparatorClass类

Sorting 在Solr中添加自定义comparatorClass类,sorting,solr,comparator,Sorting,Solr,Comparator,我是Solr的新手。我想在Solr中添加一个自定义比较器类。我还需要在我的自定义类中使用字段-term和count,这是我在schema.xml中定义的 索引文件的结构: "docs": [ { "count": 98, "term": "age", }, { "count": 6, "term": "age assan", }, { "count": 5,

我是Solr的新手。我想在Solr中添加一个自定义比较器类。我还需要在我的自定义类中使用字段-term和count,这是我在schema.xml中定义的

索引文件的结构:

"docs": [
      {
        "count": 98,
        "term": "age",
      },
      {
        "count": 6,
        "term": "age assan",
      },
      {
        "count": 5,
        "term": "age but",
      },
      {
        "count": 10,
        "term": "age salman",
      }]
我用术语及其计数存储了ngram,但solr自己给出了我不需要的频率。我想要我为每个术语定义的计数频率。而这个术语和计数,我需要使用并希望使用频率(count)排序,然后编辑距离,我需要通过在比较器类中创建自己的类来实现,或者还有其他东西可以帮助我。请分享

我怎样才能做到这一点。请帮忙。
谢谢。

您应该能够做到这一点,而无需实现自定义的相似性类。第一个要求是(根据您的描述)对计数值进行直接排序,而后者可以通过对函数中的值进行排序来实现。还可以使用多个函数将这些值相乘或加权

如果你真的,真的需要建立自己的记分器(我不认为你需要从你的描述中这样做)-这些通常是为了探索tf/idf、bm25等以外的其他排名算法。对于更大的群体,谷歌上的搜索为你提供了许多预制作的、易于采用的解决方案。我特别想指出“这是核选择”:

除非你只是想获得教育经验,否则构建自定义Lucene查询应该是搜索相关性的“核心选项”。这是非常微妙的,有很多细节。如果你真的在考虑解决一个真正的问题,你已经走上了以下道路[…]


为什么需要添加自定义比较器?你试过什么?为什么不起作用?@MatsLindh:我想使用name自己定义的字段-
术语和计数
<代码>术语包含一个单词—“年龄”和
计数
包含—“单词频率”。我
想使用
solr预定义的频率
值。我必须使用符合我要求的自己的。如何开始构建自己的类
“comparatorClass”
@iNikkz你能用一些例子来澄清你的问题吗?最好用更多细节编辑问题。@sidgate:我已经更新了我的问题。请检查并给出您的观点,并帮助在solr中创建类。谢谢,我想在Solr中添加类。是的,我们从你的问题中理解了这一点,但为什么?正在进行拼写更正。我收到了拼写错误单词的建议,因此,建议是这样的单词+频率。我在我的文档中索引了ngram(1到5),其中每个文档包含1到5克的术语(ngram)以及我根据需要插入的频率(计数)。我已经完成了schema.xml和solrconfig.xml的配置。现在,任何单词的建议都会根据schema.xml配置(ShingleFilterFactory)给出频率。但我想使用我自己定义的频率(计数),而不是建议的频率。那么,我该怎么做呢?