如何使用Solr MinHashQParser

ppcbkaq5  于 2022-11-05  发布在  Solr
关注(0)|答案(1)|浏览(131)

目前我正在尝试使用MinHash集成Jaccard相似性搜索,我偶然发现了solr的8.11 MinHash Query Parser,它在文档中写道:
这些查询测量查询字符串和MinHash字段之间的Jaccard相似性
如何正确实施?
如文档所述,我添加了<fieldType><field>,如下所示:

<field name="min_hash_analysed" type="text_min_hash" multiValued="false" indexed="true" stored="false" />

<fieldType name="text_min_hash" class="solr.TextField" positionIncrementGap="100">
        <analyzer>
            <tokenizer class="solr.ICUTokenizerFactory"/>
            <filter class="solr.ICUFoldingFilterFactory"/>
            <filter class="solr.ShingleFilterFactory" minShingleSize="5" outputUnigrams="false" outputUnigramsIfNoShingles="false" maxShingleSize="5" tokenSeparator=" "/>
            <filter class="org.apache.lucene.analysis.minhash.MinHashFilterFactory" bucketCount="512" hashSetSize="1" hashCount="1"/>
        </analyzer>
    </fieldType>

我厌倦了将一些文本保存到新的min_hash_analysed字段,然后尝试使用文档中提供的查询来查询非常相似的文本。

{!min_hash field="min_hash_analysed" sim="0.5" tp="0.5"}Very similar text to already saved document text

我希望找回所有相似度高于sim="0.5"的文档,但无论我得到什么"numFound":0

我肯定做错了什么。我应该如何正确地集成Solr的MinHash查询解析器

n9vozmp4

n9vozmp41#

根据响应,您似乎是直接将{!min_hash field..}作为查询参数发送,而不是作为q=参数给出的 *Solr查询 * 发送。

q={!min_hash ..}query text here

..将是URL中的正确语法(并根据需要应用URL转义)。

相关问题