的整数倍值
问题描述:
这里如何搜索/过滤器是我的JSON ....的整数倍值
[{
"course_id": 1,
"courseintakes": "Trimester 1; Trimester 2; Trimester 3"
}, {
"course_id": 2,
"courseintakes": "Trimester 1; Trimester 2"
}, {
"course_id": 3,
"courseintakes": "Trimester 2; Trimester 3"
}, {
"course_id": 4,
"courseintakes": "Trimester 1; Trimester 3"
}, {
"course_id": 5,
"courseintakes": "Trimester 3"
}]
我所试图做的是,当有人在孕中期1或第二学期搜索,它应该返回当然ID为1,2,3和4,但不是5.
如果孕中期1或孕期3有人搜索,它应该与ID 1,2,3,4和5
返回路线我试过terms query
和match query
。
terms query
不返回任何结果。 match query
返回结果,但它不够精确。
有人可以请告知什么是最好的方法来做到这一点?
感谢
答
你可以分享你的弹性查询 理想应该是
{
"size": <size>,
"_source": <fields to retrieve>,
"query": {
"terms": {
"courseintakes": [<query_terms>, <query_terms>]
}
}
}
使用_source过滤掉返回的字段。 也检查你有什么映射。理想情况下,你应该有非分析领域的课程,如果你想分析领域,然后考虑创建自己的分析仪为领域courseintakes分裂词的基础上“;”
+0
@KuldeepKRishi我做了自定义分析器,请参阅我前两天提出的类似问题https://*.com/questions/44149335/elasticsearch-filtering-matching-multiple-phrases – Slyper
请分享映射和ES版本 – Richa
现在所有排序...在这里找到完整的解决方案https://*.com/questions/44227658/elasticsearch-pattern-analyser-not-working – Slyper