Django Sphinx 文本搜索

发布于 2024-09-26 22:56:04 字数 312 浏览 5 评论 0原文

我正在我的 Django 项目中尝试 Sphinx 搜索。所有设置完成&它有效,但需要实际使用此设置的人进行一些澄清。

在索引时的 Sphinx 搜索中,我使用“name”作为 MySQL 中可搜索的字段sql_query 中的所有其他字段都作为属性(根据 Sphinx 术语)。

因此,当我从 Django 中的模型实例进行搜索时,我得到了正确的搜索结果,但搜索结果中没有“名称”字段。我得到了所有其他属性。

但是,我得到了搜索词的“id”。从技术上讲,我可以通过再次查询 MySQL 来获取“名称”,但我想避免这种情况。还有什么是我没有在这里做的吗?

I am trying out Sphinx search in my Django project. All setup done & it works but need some clarification from someone who has actually used this setup.

In my Sphinx search while indexing, I have used 'name' as the field in my MySQL to be searchable & all other fields in sql_query to be as attributes (according to Sphinx lingo).

So when I search from my Model instance in Django, I get the search results alright but it does not have the 'name' field in the search results. I get all the other attributes.

However, I get the 'id' of the search term. Technically, I could get the 'name' by again querying MySQL but I want to avoid this. Is there anything I am not doing here?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

长伴 2024-10-03 22:56:04

这是一个黑暗中的尝试 -

尝试在 sphinx.conf 中获取与您尝试索引的 table_name 相同的 index 名称。这是一个被很多人忽视的怪癖。

Here's a shot in the dark -

Try to get the name of your index in sphinx.conf same as the table_name you are trying to index. This is a quirk which is missed by lot of people.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文