小编Noa*_*oam的帖子

Solr查询:停止单词,OR和AND古怪

我们使用Solr 3.5和具有以下字段声明的模式:

<fieldType name="fieldN" class="solr.TextField" positionIncrementGap="100">
  <analyzer type="index">
    <tokenizer class="solr.WhitespaceTokenizerFactory"/>
    <filter class="solr.WordDelimiterFilterFactory"
            generateWordParts="0" generateNumberParts="0" catenateWords="0" catenateNumbers="0" 
            catenateAll="0" splitOnCaseChange="1" splitOnNumerics="0" preserveOriginal="1"/>
    <filter class="solr.LengthFilterFactory" min="2" max="256"/>
    <filter class="solr.LowerCaseFilterFactory"/>
    <filter class="solr.StopFilterFactory"
            ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true"
            />
    <filter class="solr.PorterStemFilterFactory"/>
  </analyzer>
  <analyzer type="query">
    <tokenizer class="solr.WhitespaceTokenizerFactory"/>
    <filter class="solr.LengthFilterFactory" min="2" max="256"/>
    <filter class="solr.LowerCaseFilterFactory"/>
    <filter class="solr.StopFilterFactory"
            ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true"
            />
    <filter class="solr.PorterStemFilterFactory"/>
  </analyzer>
</fieldType>
Run Code Online (Sandbox Code Playgroud)

当我们发送这样的查询时:

field1:"term1"
Run Code Online (Sandbox Code Playgroud)

Solr返回结果.

当我们运行此查询时,我们仍然得到结果:

field1:"term1" AND (field2:term2 OR field3:term2)
Run Code Online (Sandbox Code Playgroud)

虽然term2是一个停用词,term1是一个常用词.

但是当我们发送这样的查询时:

field1:"term1" AND (field2:term2 OR field3:term2 OR field4:term2)
Run Code Online (Sandbox Code Playgroud)

什么都没有回来. …

lucene solr

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

Jersey隐藏了Spring框架和SockJS

我们试图用Spring Framework WebSocket支持公开sockjs端点.

这是Jersey管理路由的服务器端配置:

@Configuration
@EnableWebSocket
public class WebSocketConfig extends WebSocketMessageBrokerConfigurationSupport {

    @Override
    public void registerStompEndpoints(StompEndpointRegistry registry) {
        registry.addEndpoint("/sockjs").withSockJS()
                .setStreamBytesLimit(512 * 1024)
                .setHttpMessageCacheSize(1000)
                .setDisconnectDelay(30 * 1000);
    }
}
Run Code Online (Sandbox Code Playgroud)

问题是我们无法访问/sockjs,客户端代码是:

List<Transport> transports = new ArrayList<>(2);
transports.add(new WebSocketTransport(new StandardWebSocketClient()));
transports.add(new RestTemplateXhrTransport());

SockJsClient sockJsClient = new SockJsClient(transports);
sockJsClient.doHandshake(new MyHandler(), "ws://localhost:8080/sockjs");
Run Code Online (Sandbox Code Playgroud)

(代码来自spring websockets教程)

root/api/server即使不是/sockjs/root/api/server/sockjs不可访问,同一个包中的其他资源也会被配置.

java spring jersey websocket sockjs

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

如何在android中隐藏Cursor的特定行

我有一个光标,它有40行,我想在用户勾选复选框时隐藏一些行.

一种方法是在光标上再次运行查询,但它对我没有帮助,因为条件是由Java完成的(计算余额,有很多逻辑).

我需要能得到当前行的东西,如果可以显示则返回.

任何帮助将不胜感激.

sqlite android cursor

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

标签 统计

android ×1

cursor ×1

java ×1

jersey ×1

lucene ×1

sockjs ×1

solr ×1

spring ×1

sqlite ×1

websocket ×1