gpt4 book ai didi

django - 使用 Solr 和 Haystack 进行拼写检查未显示任何结果

转载 作者:行者123 更新时间:2023-12-02 03:05:35 29 4
gpt4 key购买 nike

我们的 Solr 构建的功能如下

     http://192.168.1.106:8983/solr/spell?q=query&spellcheck=true&spellcheck.build=true 

根据我们基于索引的字典成功返回拼写建议

然而 django-haystack 变量 {{suggestion}} 甚至 python 命令 SearchQuerySet().spelling_suggestion("query") 返回“None”。

我们使用 haystack 提供的标准 View 和 url。

安装的应用程序是Python 2.7.2、Django 1.3.2、Haystack 2.0、Apache Solr 3.6.1(在标准 Jetty 上运行)、PySolr 2.1。

这是我们正在使用的一些代码:

在settings.py中

    HAYSTACK_CONNECTIONS = {
'default': {
'ENGINE': 'haystack.backends.solr_backend.SolrEngine',
'URL': 'http://192.168.1.106:8983/solr',
'INCLUDE_SPELLING': True,
},
}

在/PATH/TO/SOLR/example/solr/conf/solrconfig.xml 中:

    <searchComponent name="spellcheck" class="solr.SpellCheckComponent">
<str name="queryAnalyzerFieldType">textSpell</str>
<lst name="spellchecker">
<str name="name">default</str>
<str name="field">text</str>
<str name="spellcheckIndexDir">spellchecker</str>
</lst>
</searchComponent>

<requestHandler name="/spell" class="solr.SearchHandler" startup="lazy">
<lst name="defaults">
<str name="df">text</str>
<str name="spellcheck.onlyMorePopular">false</str>
<str name="spellcheck.extendedResults">false</str>
<str name="spellcheck.count">10</str>
</lst>
<arr name="last-components">
<str>spellcheck</str>
</arr>
</requestHandler>

所以问题是:代码中的问题在哪里,导致已安装的应用程序“haystack”无法与 Solr 发现的拼写建议结果进行通信?或者换句话说,为什么 haystack 没有显示拼写建议,而 Solr 提供了一些建议?

最佳答案

您的 Django 设置文件中的 CONNECTIONS 中的 INCLUDE_SPELLING 设置是否定义为 True? http://django-haystack.readthedocs.org/en/latest/searchqueryset_api.html#spelling-suggestion

可能有帮助的一件事是准确查看 Haystack 发送给 Solr 的内容。您可以在搜索功能中的 Haystack 的 backends/solr_backend.py 中的 SolrBackend 类中添加打印语句,以便您可以看到正在使用的 URL。这至少会告诉您 Haystack 是否按顺序执行搜索建议。

您可能还想直接从 Github 存储库检查 Haystack 更新。那里的发展有pretty active

关于django - 使用 Solr 和 Haystack 进行拼写检查未显示任何结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13635660/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com