【发布时间】:2025-11-28 23:00:01
【问题描述】:
我正在使用 Apache Solr 进行搜索。我使用数据导入处理程序从 mysql 表中导入数据。但是当我使用 q=KOHLI insted of q=lastname:KOHLI 时,我没有得到任何结果。
这是q=lastname:KOHLI的回复
{
"responseHeader": {
"status": 0,
"QTime": 1,
"params": {
"q": "lastname:KOHLI",
"indent": "true",
"wt": "json",
"_": "1427802213299"
}
},
"response": {
"numFound": 1,
"start": 0,
"docs": [
{
"lastname": "KOHLI",
"town": "DELHI",
"id": "2",
"firstname": "VIRAT",
"_version_": 1497158663291273200
}
]
}
}
schema.xml:
<copyField source="firstname" dest="text"/>
<copyField source="lastname" dest="text"/>
<copyField source="town" dest="text"/>
<field name="firstname" type="text_general" indexed="true" stored="true"/>
<field name="lastname" type="text_general" indexed="true" stored="true"/>
<field name="town" type="text_general" indexed="true" stored="true"/>`
【问题讨论】:
-
text 是你的 defaultSearchField 吗?
-
@alexf 是的,我想按名字、姓氏或城镇搜索。
-
在您的 solrConfig.xml 中,您没有使用查询解析器?
-
@alexf 我不知道如何在 solrConfig.xml 中使用查询解析器,你能解释一下它是如何工作的吗?
-
您可以阅读that。添加你的 solrConfig.xml 的 sn-p。