请帮帮我。我有一个具有以下结构的JSON文件。
{
"question": [ ... ],
"answer": [ ... ]
},
{
...
}
任务是以文本的形式发出请求,以便他搜索我索引的问题,并以搜索结果的形式显示答案。
我想索引所有问题字段,但我不知道如何处理答案字段。
你能告诉我该做什么或者至少在哪里阅读。
答案 0 :(得分:0)
以下内容应该概述了映射在Elasticsearch中的工作原理。
我首先建议您将json文件转换为包含此结构的多个JSON对象:
{
"question":"What is the meaning of life?",
"answer":"42."
}
你的索引看起来像这样:
PUT my_index
{
"mappings":{
"myFirstMapping": {
"properties": {
"question": {
"type": "text",
"analyzer": "standard"
},
"answer": {
"type":"text",
"index": "false"
}
}
}
}
}
根据文本,语言或特殊要求,您可以在以后构建更复杂的分析器,到目前为止您只使用标准分析器:Standard Analyzer
看看我们在字段回答中如何指定它不包含在索引中,这意味着我们不会搜索答案字段,因此分析它是没有意义的。
然后你可以用这种方式对每对问题/答案进行索引:
POST my_index/myFirstMapping
{
"question":"What is the meaning of life?",
"answer":"42."
}
最后,您可以执行以下搜索:
GET my_index/_search
{
"query": {
"match": {
"question": "life?"
}
}
}