小编ben*_*nze的帖子

Solr多语种搜索

我目前正在开发一个项目,我们在SOLR中索引了文本内容.每个内容都用一种特定的语言写成(我们有4种不同的欧洲语言),但是我们想添加一个功能,如果主要搜索(用户输入的搜索文本)没有返回太多结果,那么我们也尝试查找文档用其他语言.因此,我们将以某种方式需要翻译查询.我们的基础是我们可以拥有项目领域常用的翻译单词的映射列表.

我遇到的一个解决方案是使用同义词搜索功能.但这可能无法提供最好的结果.

人们是否有关于可以帮助我们实现这种多语言搜索功能的现有模块的指针?还是我们冷酷的尝试调查的概念想法?

谢谢

lucene multilingual solr full-text-search search-engine

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

RxJava flatMap和backpressure奇怪的行为

在用RxJava编写数据同步作业时,我发现了一个我无法解释的奇怪行为.我是RxJava的新手,非常感谢帮助.

简而言之,我的工作非常简单我有一个元素ID列表,我调用web服务来获取每个元素的ID,进行一些处理并进行多次调用以将数据推送到DB.数据加载比数据存储更快,因此我输入了OutOfMemory错误.

我的代码几乎看起来像"失败"测试,但后来做了一些测试我意识到删除线:

flatMap(dt -> Observable.just(dt))
Run Code Online (Sandbox Code Playgroud)

让它起作用.失败的测试输出清楚地表明未消耗的项目叠加,这导致OutOfMemory.工作测试输出显示生产者将始终等待消费者,因此这永远不会导致OutOfMemory.

public static class DataStore {
    public Integer myVal;
    public byte[] myBigData;

    public DataStore(Integer myVal) {
        this.myVal = myVal;
        this.myBigData = new byte[1000000];
    }
}

@Test
public void working() {
    int MAX_CONCURRENT_LOAD = 1;
    int MAX_CONCURRENT_STORE = 2;

    AtomicInteger nbUnconsumed = new AtomicInteger(0);

    List<Integer> ids = IntStream.range(0, 1000).boxed().collect(Collectors.toList());
    Observable.from(ids)
        .flatMap(this::produce, MAX_CONCURRENT_LOAD)
        .doOnNext(s -> logger.info("+1 Total unconsumed values: " + nbUnconsumed.incrementAndGet()))
        .flatMap(this::consume, MAX_CONCURRENT_STORE)
        .doOnNext(s -> logger.info("-1 Total unconsumed values: " + nbUnconsumed.decrementAndGet()))
        .toBlocking().forEach(s -> {}); …
Run Code Online (Sandbox Code Playgroud)

java multithreading rx-java reactivex

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

打开 REST Web 服务返回的 PDF

我有一个 JAXB REST Web 服务请求一个 JSON 的 POST 请求,并且应该返回一个 PDF 文档作为响应:

@POST
@Path("getReceipt")
@Consumes({ MediaType.APPLICATION_JSON })
@Produces({ "application/pdf" })
public Response getReceipt(InputStream incomingData, @Context HttpServletRequest httpRequest) {
...
}
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用 Advanced Rest Client(Google Chrome 插件)对其进行测试,它显示以下响应:

%PDF-1.4
%????
3 0 obj
<</C[0 0 1]/Border[0 0 0]/A<</URI(https://www.totalerg.it/)/S/URI>>/Subtype/Link/Rect[491.43 723.5 557 733.5]>>
endobj
4 0 obj
<</C[0 0 1]/Border[0 0 0]/A<</URI(https://www.totalerg.it/)/S/URI>>/Subtype/Link/Rect[256.65 274.5 322.22 284.5]>>
endobj
5 0 obj
<</Length 993/Filter/FlateDecode>>stream
x??U?n?8}?W?[??Ð????lG?j???}Y0kpaK?,%???s?3vHY????"9??G/%>?9??gD???????;?(  \|:+WP?h?|D?zo?????)??????h???????L2CR??a?%L?
????:??&??g L???1??Oq???9M?[<?-??????r???
wL?2?:W?m#??J???\*??":??Ld7?]
?3?6?E??Kn_<?}?;???,??g?????uk??D^O??6~??Y????]?=1??gq:???v?l??"??o??x????a?09?3H???VeSY???,?A????l??^*(??W?BE#J?PKX??F??s?^??
?H?)??? ??V??
?k<???FntUj<??!F?/
???U#dU#?q?]ZzUnd?I??Z?w?w'??%??l?4?^!G???~????n??????,&?U?1teT"u^???r?P?Bw?:YkLX_:??????????Mw??P"???\!%???7????zWO}Yp???h?8?????n?]?? ;x?o?2w?38??.??/?~?+e"pC?????k?]?c#
?????E?{?}?nZ??8?35T?IC+??6?6????E???">J??AZ???F??#??j*????*7?#Pm]????e?e???U?,???!?j?Z??B?de?????????A?i????`\T0?0r??????? ?G#A???????????f???'??????,6c?.?4?O?Y:6C.6?}?!]éy?{E????>?<??u?y$??9??L???f?]?T????/w?????????^qj?[?r??U)g1b??????W?????*1??????????8?F?c??B^?bk?n=??u??x?;?]?H0rsg???tI[x?????G?0?????@p?EW??B???????L?
endstream …
Run Code Online (Sandbox Code Playgroud)

java pdf rest json

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