python - 寻找 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。这样这会以参数 q = 医生 fq = city:portland 命中 solr。
q = 医生 fq = 城市:波特兰的预期响应 响应。
收到的响应: fq=city:portland 的结果。
注意text
请注意,如果该字段的响应将忽略 solr 中的排名方程
,我不想查询该字段。
我错过了什么或做错了什么?
-谢谢
解决方案
推荐阅读
- python - 设置数据框列值基于值的计数和分组依据
- android - 如何处理那个gradle错误?
- javascript - Titanium Appcelerator - 动态更改视图的边框颜色
- angular - CLOSED 类型 'IMyClass[]' 在连接 http 答案时与类型 'IMyClass' 没有共同的属性
- javascript - ReactJS:TypeError:无法读取未定义的属性“名称”
- php - 无法在 php 中创建我的第一个 SOAP 服务
- jquery - 设置没有值的选择列表项的值会中断提交事件处理程序
- rust - Cargo 生态系统中的“箱子”到底是什么?与 crates.io 上的内容的映射是什么?
- android - 使用adjustresize时如何隐藏导航栏和全屏?
- forms - 使用令牌形成 Click()