繁体   English   中英

SOLR - PathHierarchyTokenizerFactory Facet查询

[英]SOLR - PathHierarchyTokenizerFactory Facet Query

我一直在尝试对配置为solr.PathHierarchyTokenizerFactory的字段执行查询,但查询只返回所有记录。 似乎做一个facet查询是行不通的。 有没有人有办法完成这个? 我正在使用PathHierarchy来实现category / subcategory facets。

<fieldType name="text_path" class="solr.TextField" positionIncrementGap="100">
    <analyzer>
        <tokenizer class="solr.PathHierarchyTokenizerFactory" delimiter="/" />
    </analyzer>
</fieldType>

<field name="libraries" type="text_path" indexed="true" stored="true" multiValued="true" />

http://linux2:8984/solr/select?q=*:*&rows=0&fq=libraries:"/test/subtest"&facet=true&facet.field=libraries&f.libraries.facet.sort=true&f.libraries.facet.limit=-1&f.libraries.facet.mincount=-1

谢谢

更改text_path字段定义以仅在索引时应用PathHierarchyTokenizerFactory(下面的示例)。 您的问题是,您的查询正由令牌化程序处理,以便fq = libraries:“/ test / subtest”实际上是针对fq = libraries查询:(/ test / subtest OR / test)。

<fieldType name="text_path" class="solr.TextField" positionIncrementGap="100">
    <analyzer type="index">
        <tokenizer class="solr.PathHierarchyTokenizerFactory" delimiter="/" />
    </analyzer>
</fieldType>

请注意分析仪类型=“索引”

如果删除刻面参数会发生什么? 它还返回所有文件吗?

从我的观点来看,分面不应该对搜索结果产生影响。 在我看来,您在fq参数中传递的过滤器查询由于某种原因不起作用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM