小编Nei*_*eil的帖子

如何在Solr中指定日期构面查询?

当我对Solr进行查询时,我得到了这些facet_counts:

'facet_counts' => {
    'facet_dates' => {
        'photo_added' => {
            '2009-12-28T18:00:00Z' => 396386,
            '2010-05-28T18:00:00Z' => 415370,
            'gap' => '+1MONTH',
            'end' => '2011-02-28T18:00:00Z',
        },
    },
},
Run Code Online (Sandbox Code Playgroud)

但是,当我向查询中添加这些参数中的任何一个q=*:*:

fq=photo_added:2009-12-28T18:00:00Z
fq=photo_added:2009-12-28T18%3A00%3A00Z
Run Code Online (Sandbox Code Playgroud)

我收到这个作为回应:

HTTP ERROR 400: Invalid Date String:'2009-12-28T18'
Run Code Online (Sandbox Code Playgroud)

当我向查询中添加这些参数中的任何一个时:q=*:*

fq=photo_added:"2009-12-28T18:00:00Z"
fq=photo_added:"2009-12-28T18%3A00%3A00Z"
fq%3Dphoto_added%3A%222009-12-28T18%3A00%3A00Z%22
fq=photo_added%3A"2009-12-28T18%3A00%3A00Z"
Run Code Online (Sandbox Code Playgroud)

我在回复中收到了这个:

<result name="response" numFound="0" start="0"/>
Run Code Online (Sandbox Code Playgroud)

但是当我fq=对我的查询没有约束时,我得到了numFound="8001000",所以这个fq=约束肯定有问题.

如何进行有效的日期构面查询?

solr

3
推荐指数
1
解决办法
4357
查看次数

我可以在Vim中使用什么正则表达式来查找CVS冲突?

什么是我可以在Vim中使用的正则表达式来查找CVS和可能的其他版本控制系统中的冲突?

regex cvs vim version-control

1
推荐指数
1
解决办法
172
查看次数

如何从另一个select的结果中创建一个SQL表?

我特意要求MySQL,但答案可能适用于很多SQL数据库.

如果我有这样的select语句:

select * from users where age > 5;
Run Code Online (Sandbox Code Playgroud)

如何将其分配给新表?

mysql sql

1
推荐指数
2
解决办法
107
查看次数

与slfj4的NoSuchMethodError

我正在尝试使用Solr与slfj4和logback,当我用CTRL + C关闭Solr时,我收到此错误:

 java.lang.NoSuchMethodError: org.slf4j.spi.LocationAwareLogger.log(Lorg/slf4j/Marker;Ljava/lang/String;ILjava/lang/String;[Ljava/lang/Object;Ljava/lang/Throwable;)V
Run Code Online (Sandbox Code Playgroud)

这在编译期间不会发生.

我在版本1.6.4中检查了org.slf4j.spi.LocationAwareLogger.log的方法签名,它似乎是正确的:

  public void log(Marker marker, String fqcn, int level, String message, Object[] argArray, Throwable t);
Run Code Online (Sandbox Code Playgroud)

完整的堆栈跟踪:

2012-04-27 12:02:09.806 [Shutdown] ERROR o.a.s.h.c.HttpShardHandlerFactory - java.lang.NoSuchMethodError: org.slf4j.spi.LocationAwareLogger.log(Lorg/slf4j/Marker;Ljava/lang/String;ILjava/lang/String;[Ljava/lang/Object;Ljava/lang/Throwable;)V
        at org.apache.commons.logging.impl.SLF4JLocationAwareLog.debug(SLF4JLocationAwareLog.java:133
)
        at org.apache.http.impl.conn.tsccm.ThreadSafeClientConnManager.shutdown(ThreadSafeClientConnManager.java:282)
        at org.apache.solr.handler.component.HttpShardHandlerFactory.close(HttpShardHandlerFactory.java:172)
        at org.apache.solr.core.CoreContainer.shutdown(CoreContainer.java:599)
        at org.apache.solr.servlet.SolrDispatchFilter.destroy(SolrDispatchFilter.java:124)
        at org.mortbay.jetty.servlet.FilterHolder.destroyInstance(FilterHolder.java:127)
        at org.mortbay.jetty.servlet.FilterHolder.doStop(FilterHolder.java:107)
        at org.mortbay.component.AbstractLifeCycle.stop(AbstractLifeCycle.java:76)
        at org.mortbay.jetty.servlet.ServletHandler.doStop(ServletHandler.java:176)        at org.mortbay.component.AbstractLifeCycle.stop(AbstractLifeCycle.java:76)
        at org.mortbay.jetty.handler.HandlerWrapper.doStop(HandlerWrapper.java:142)
        at org.mortbay.component.AbstractLifeCycle.stop(AbstractLifeCycle.java:76)
        at org.mortbay.jetty.handler.HandlerWrapper.doStop(HandlerWrapper.java:142)        at org.mortbay.jetty.servlet.SessionHandler.doStop(SessionHandler.java:125)
        at org.mortbay.component.AbstractLifeCycle.stop(AbstractLifeCycle.java:76)
        at org.mortbay.jetty.handler.HandlerWrapper.doStop(HandlerWrapper.java:142)
        at org.mortbay.jetty.handler.ContextHandler.doStop(ContextHandler.java:592)        at org.mortbay.jetty.webapp.WebAppContext.doStop(WebAppContext.java:537)
        at org.mortbay.jetty.plugin.Jetty6PluginWebAppContext.doStop(Jetty6PluginWebAppContext.java:1
23)
        at org.mortbay.component.AbstractLifeCycle.stop(AbstractLifeCycle.java:76)        at org.mortbay.jetty.handler.HandlerCollection.doStop(HandlerCollection.java:169)
        at org.mortbay.component.AbstractLifeCycle.stop(AbstractLifeCycle.java:76)
        at org.mortbay.jetty.handler.HandlerCollection.doStop(HandlerCollection.java:169)
        at org.mortbay.component.AbstractLifeCycle.stop(AbstractLifeCycle.java:76) …
Run Code Online (Sandbox Code Playgroud)

java solr slf4j maven

1
推荐指数
1
解决办法
1万
查看次数

你如何设置Maven的jetty-start?

我正在尝试让Maven自动下载jetty-start的所有依赖项,所以我运行这个:

java start.jar etc/jetty.xml
Run Code Online (Sandbox Code Playgroud)

但是当我这样做时:

java start.jar --list-options
Run Code Online (Sandbox Code Playgroud)

我得到几个缺少的模块,我必须手动添加为我的Maven文件的依赖项.我试着加入他们,我会被卡住在寻找一个合适的版本servlet-api将提供javax.servlet.http.HttpServletResponse,即使下载了罐子jetty-servletjavax/servlet/http/HttpServletResponse.class它里面.这是错误:

java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.eclipse.jetty.start.Main.invokeMain(Main.java:457)
        at org.eclipse.jetty.start.Main.start(Main.java:602)
        at org.eclipse.jetty.start.Main.main(Main.java:82)
Caused by: java.lang.NoClassDefFoundError: javax/servlet/http/HttpServletResponse
        at java.lang.Class.getDeclaredConstructors0(Native Method)
        at java.lang.Class.privateGetDeclaredConstructors(Class.java:2389)
        at java.lang.Class.getConstructor0(Class.java:2699)
        at java.lang.Class.newInstance0(Class.java:326)
        at java.lang.Class.newInstance(Class.java:308)
        at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.configure(XmlConfiguration.java:333)
        at org.eclipse.jetty.xml.XmlConfiguration.configure(XmlConfiguration.java:291)
        at org.eclipse.jetty.xml.XmlConfiguration$1.run(XmlConfiguration.java:1203)
        at java.security.AccessController.doPrivileged(Native Method)
        at org.eclipse.jetty.xml.XmlConfiguration.main(XmlConfiguration.java:1138)
        ... 7 more
Caused by: java.lang.ClassNotFoundException: javax.servlet.http.HttpServletResponse
        at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
        ... 17 more …
Run Code Online (Sandbox Code Playgroud)

solr jetty maven

1
推荐指数
1
解决办法
2703
查看次数

Spring Boot @DataJpaTest 导致`No ServletContext set` 错误

使用@DataJpaTest注释运行测试时,会抛出此异常:

java.lang.IllegalStateException: No ServletContext set
Run Code Online (Sandbox Code Playgroud)

我该如何设置ServletContext

我有这个测试:

package com.example.thing.unit.services;

import com.example.thing.services.StorageService;
import org.junit.jupiter.api.Tag;
import org.junit.jupiter.api.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest;
import org.springframework.test.context.junit4.SpringRunner;

import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertTrue;

@RunWith(SpringRunner.class)
@DataJpaTest
@Tag("unit")
public class StorageServiceTest {

  @Autowired private StorageService storageService;

  @Test
  public void whenFindMessageById_thenReturnMessage() {

    final var messages = storageService.saveRandomMessages(1);
    final var id = messages.get(0).getId();
    final var message = storageService.getMessage(id);

    assertTrue(message.isPresent());
    assertEquals(id, message.get().getId());
  }
}
Run Code Online (Sandbox Code Playgroud)

以及这些 Spring 依赖项:

<dependency>
  <groupId>org.springframework</groupId>
  <artifactId>spring-beans</artifactId>
  <version>5.1.3.RELEASE</version>
</dependency>

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter</artifactId> …
Run Code Online (Sandbox Code Playgroud)

spring-data-jpa spring-boot

1
推荐指数
2
解决办法
3277
查看次数

标签 统计

solr ×3

maven ×2

cvs ×1

java ×1

jetty ×1

mysql ×1

regex ×1

slf4j ×1

spring-boot ×1

spring-data-jpa ×1

sql ×1

version-control ×1

vim ×1