2024-09-28 01:27:32 发布
网友
我现在用的是django haystack 以apachesolr作为后端。在
问题是我无法让应用程序执行我正在寻找的搜索功能
在单词中搜索子部分
eg. Searching for "buntu" does not give me "ubuntu"
寻找相似的词
eg. Searching for "ubantu" would give "ubuntu"
任何帮助都将不胜感激。在
这实际上是关于如何将查询传递回Haystack(因此也传递给Solr)。您可以在Solr/Lucene中通过在单词后面使用~进行“模糊”搜索:
~
ubuntu~
将同时返回buntu和ubantu。请参阅Lucene documentation。在
buntu
ubantu
你如何通过干草堆通过这取决于你现在如何使用它。假设您使用的是默认的SearchForm,最好的方法是重写表单的clean_q方法在搜索结果中每个单词的末尾添加波浪号,或者重写search方法在将其传递给SearchQuerySet之前在那里执行相同的操作。在
clean_q
search
这实际上是关于如何将查询传递回Haystack(因此也传递给Solr)。您可以在Solr/Lucene中通过在单词后面使用
~
进行“模糊”搜索:将同时返回
buntu
和ubantu
。请参阅Lucene documentation。在你如何通过干草堆通过这取决于你现在如何使用它。假设您使用的是默认的SearchForm,最好的方法是重写表单的
clean_q
方法在搜索结果中每个单词的末尾添加波浪号,或者重写search
方法在将其传递给SearchQuerySet之前在那里执行相同的操作。在相关问题 更多 >
编程相关推荐