如何解决寻找 drf haystack 查询参数以使用 q 参数命中 solr
我正在尝试使用 drf-haystack 制作用于查询 solr 的 API。
这是我正在使用的课程
from api.serializers import MyModelSerializer
class MyModelSearchView(haystackViewSet):
index_models = [MyModel]
serializer_class = MyModelSerializer
document_uid_field = "key"
class MyModel(models.Model):
key = models.TextField(primary_key=True)
title = models.TextField(blank=True,null=True)
city = models.TextField(blank=True,null=True)
category = models.TextField(blank=True,null=True)
subcategory = models.TextField(blank=True,null=True)
class MyModelIndex(indexes.SearchIndex,indexes.Indexable):
text = indexes.CharField(document=True,use_template=True)
title = indexes.CharField(model_attr="title")
city = indexes.CharField(model_attr="city")
key = indexes.CharField(model_attr="key")
def get_model(self):
return MyModel
def index_queryset(self,using=None):
return self.get_model().objects.all()
from api.search_indexes import MyModelIndex
class MyModelSerializer(haystackSerializer):
class Meta:
fields = [
“title”,“city”,"pk"
]
我需要的只是能够像这样查询:
查询 http://127.0.0.1:8000/api/mymodel/search/?q=physician&city=portland。 这样它就会用参数击中 solr q = 医生 fq = 城市:波特兰。
预期响应 q = 医生的反应 fq = 城市:波特兰。
收到的回复: fq=city:portland 的结果。
注意
请注意,如果来自 text
字段的响应将忽略 solr 中的排名方程,我不想查询该字段。
我遗漏了什么或做错了什么?
-谢谢
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。