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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.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
Solr:在哪里存储附加信息?_Solr - Fatal编程技术网

Solr:在哪里存储附加信息?

Solr:在哪里存储附加信息?,solr,Solr,我想在索引期间为每个索引文档提供附加信息。 并在查询期间在同一分析器中访问此信息以进行比较。 所以从理论上讲,将该值写入文档中的某个字段,并在查询时搜索该字段是非常好的 f、 我有一个动物数据库。我想找到里面有三个字“狗”的所有文件。(只是一个例子)。我可以为我的“动物”字段设置我的自定义BaseTokenFilterFactory,它将生成我的自定义TokenFilter,它将只计算所有“狗”字并将此数字存储在某个地方。所以在哪里可以存储此值以在搜索时访问它?您的示例听起来更适合由Solr中的

我想在索引期间为每个索引文档提供附加信息。
并在查询期间在同一分析器中访问此信息以进行比较。
所以从理论上讲,将该值写入文档中的某个字段,并在查询时搜索该字段是非常好的


f、 我有一个动物数据库。我想找到里面有三个字“狗”的所有文件。(只是一个例子)。我可以为我的“动物”字段设置我的自定义BaseTokenFilterFactory,它将生成我的自定义TokenFilter,它将只计算所有“狗”字并将此数字存储在某个地方。所以在哪里可以存储此值以在搜索时访问它?

您的示例听起来更适合由Solr中的自定义相似性或查询函数处理,而不是作为自定义分析器处理

例如,如果使用Solr 4.0,您可以使用函数按dog出现的次数排序。也可以将其用作过滤器,如下所示:

fq={!frange l=3 u=100000}termfreq(animals,"dog")
这将过滤所有其“动物”字段中至少未出现3次“狗”一词的文档。 使用此方法的优点是,您不影响文档的评分,只对文档进行筛选


自Solr 1.4以来,就存在按函数过滤的功能,因此即使您使用的是Solr的早期版本(>1.4),您也可以自己轻松编写“termfreq”函数查询

“Solr 4.0尚未发布。”@denys,我知道,但您可以自己非常轻松地构建该函数,因为IndexReader包含您需要的所有数据(术语频率,文档频率…)我编写了这样的函数,但我在[问题]()