1.首先我先了建一个文件建设为a.js。里面是检索lucence 格式的查询语句简单来说就是一个json变量。代码如下:
var work_query = {
index: 'work',
type: 'work_v1',
body:
{
"query" : {
"query_string": {
"query": ***query_name,***
"analyze_wildcard": true
}
},
"size": 0,
"_source": {
"excludes": []
},
"aggs": {
"2": {
"terms": {
"field": "date",
"size": 7,
"order": {
"_term": "asc"
}
},
"aggs": {
"3": {
"terms": {
"field": "workname",
"size": 7,
"order": {
"1": "desc"
}
},
"aggs": {
"1": {
"max": {
"field": "worktime"
}
},
"4": {
"terms": {
"field": "week",
"size": 5,
"order": {
"1": "desc"
}
},
"aggs": {
"1": {
"max": {
"field": "worktime"
}
}
}
}
}
}
}
}
}
}
}
2.大家仔细看其中的query_name,这是一个另一个变量。我在a.js中
var query_name ="张三";
当我在b.js 中var a = require("a.js");我把 a.work_query和a.query_name都引用之后,我想令query_name = “李四”,这是从页面表单传送过来的,但是最后查询的记过还是“张三“的信息。我很奇怪,是不是动态的加载变量有一些特殊的地方?
require同一个模块有缓存,建议你导出为函数形式,入参为 query_name