我有以下索引文档:
{
"visitor": {
"id": <SOME STRING VALUE>
}
}
Run Code Online (Sandbox Code Playgroud)
该文档的映射是:
"visitor": {
"properties": {
"id": {
"type": "string"
}
}
}
Run Code Online (Sandbox Code Playgroud)
当我运行以下查询时,我得到结果:
{
"query": {
"filtered": {
"query": {
"match_all": {}
}
},
"filter": {
"term": { "visitor.id": "123" }
}
}
}
Run Code Online (Sandbox Code Playgroud)
但是,这不是:
{
"query": {
"filtered": {
"query": {
"match_all": {}
}
},
"filter": {
"term": { "visitor.id": "ABC" }
}
}
}
Run Code Online (Sandbox Code Playgroud)
我一直认为这与分析仪有关,而且一直在追逐它.我也一直在想我是否错误地使用点符号来获取嵌套的访客属性.
任何人都可以告诉我为什么我不能过滤ID为"ABC"的访客,但可以访问123
我们最近采用了Sitefinity并开始创建MVC小部件.总的来说,这已经像宣传的那样工作.然后,在测试了我的新小部件后,我意识到我将其命名为错误!然后我将控制器名称从MyWidgletController更改为MyWidgetController.在进行更改后,我开始得到异常"无法解析名称为'MySitefinityApp.Mvc.Controllers.MyWidgletController'的控制器".抓我的头.建立...一次.还是同样的问题.回收App-Pool.同样的问题.
这是我正在使用的控制器(名称已被更改以保护所涉及的小部件的身份):
[ControllerToolboxItem(Name = "MyWidget", Title = "My Widget", SectionName = "My Custom Widget Section")]
public class MyWidgetController : Controller
{
public ActionResult Index()
{
return View("Default");
}
}
Run Code Online (Sandbox Code Playgroud)
问题:为什么Sitefinity在不再存在时仍在寻找MyWidgletController?
我的项目取决于
<dependency>
<groupId>org.elasticsearch</groupId>
<artifactId>elasticsearch</artifactId>
<version>2.3.3</version>
</dependency>
<dependency>
<groupId>org.elasticsearch.plugin</groupId>
<artifactId>shield</artifactId>
<version>2.3.3</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
我的TransportClient看起来像这样:
public synchronized Client getClient(String clusterName, List<String> hosts, Integer port) {
// Build the settings for our client.
Settings settings = Settings.settingsBuilder()
.put("transport.ping_schedule", "5s")
.put("cluster.name", clusterName)
.put("action.bulk.compress", false)
.put("shield.transport.ssl", true)
.put("request.headers.X-Found-Cluster", clusterName)
.put("shield.user", "USERNAME:PASSWORD")
.build();
TransportClient client = clients.get(clusterName);
if (client == null) {
client = TransportClient.builder().addPlugin(ShieldPlugin.class).settings(settings).build();
clients.put(clusterName, client);
for(String host : hosts) {
try {
for (InetAddress address : InetAddress.getAllByName(host)) {
if (address instanceof Inet4Address) {
client.addTransportAddress(new InetSocketTransportAddress(address, …Run Code Online (Sandbox Code Playgroud)