我目前正在根据我的索引中的许多字段基于a的a实现此类功能。

我当前的配置如下:Haystack | Pysolr |索尔

对于这件,我使用pysolr并将参数传递到more_like__this函数。响应找到文档,但没有任何相关结果。这是为什么?

这是我命中的URL:

http://localhost:8080/solr/mlt?q=django_id:12123412&mlt.fl=industry_ids,loc_state,amount,sector_id&mlt.interestingTerms=details

这是我对Solr的回应:

<response>
<object type="{XXXXXX-0F1D-4F28-AAA2-XXXXXXXXXXX}" cotype="cs" id="cosymantecbfw" style="width: 0px; height: 0px; display: block;"/>
<lst name="responseHeader">
<int name="status">0</int>
<int name="QTime">24</int>
</lst>
<result name="match" numFound="1" start="0">
    <doc>...</doc>
</result>
<result name="response" numFound="0" start="0"/>
<lst name="interestingTerms"/>
</response>

solrconfig.xml

<!-- More Like This -->
<requestHandler name="/mlt" class="solr.MoreLikeThisHandler">
</requestHandler>

schema.xml

<field name="award_amount" type="sfloat" indexed="true" stored="true" multiValued="false" termVectors="true" />
<field name="estatus" type="slong" indexed="true" stored="true" multiValued="false" termVectors="true"/>
<field name="loc_state" type="string" indexed="true" stored="true" multiValued="false" termVectors="true"/>
<field name="orgtype_id" type="string" indexed="true" stored="true" multiValued="false" termVectors="true" />
<field name="sector_id" type="string" indexed="true" stored="true" multiValued="false" termVectors="true"/>
<field name="industry_ids" type="string" indexed="true" stored="true" multiValued="true" termVectors="true" />
<field name="award_amount_exact" type="sfloat" indexed="true" stored="true" multiValued="false" termVectors="true" />
<field name="sector_id_exact" type="string" indexed="true" stored="true" multiValued="false" termVectors="true"/>
<field name="amount_exact" type="sfloat" indexed="true" stored="true" multiValued="false" termVectors="true"/>

任何帮助,将不胜感激!

有帮助吗?

解决方案

您的文本字段必须具有类型 text, ,这使他们能够使他们 可搜索. 。这 string 田地被存储和查询,所以 他们无法搜索, ,使其对MLT毫无用处。

参考 复制字段 如果您想存储与两者相同的数据 textstring (例如,面)。


我看到您还打算找到最接近我们查询的数字。 MLT不正确。你想撰写 功能查询 为了那个原因。 SOLR:在数字字段上更类似

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top