Category - IT技术

java lucene 全文检索    2017-07-19 20:48:41    8
上一篇中,实现了中文分词的操作,在实际试用中,发现众多搜索引擎的搜索框中,我们在不同的key之间使用空格来表示“或”的语义,并且也许我们的关键字在title或者content中,那么现在我们就需要实现“在一个(或者多个)字段中查找多个关键字”的需求。以下便来看看如何实现。

下面代码基于上一篇的代码修改(红色标注地方为重点关注点):
import java.io.IOException;

import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
import org.apache.lucene.document.StringField;
import org.apache.lucene.document.TextField;
import org.apache.lucene.index.DirectoryReader;
import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.index.IndexWriterConfig;
import org.apache.lucene.queryparser.classic.MultiFieldQueryParser;
import org.apache.lucene.queryparser.classic.ParseException;
import org.apache.lucene.search.BooleanClause.Occur;
import org.apache.lucene.search.IndexSearcher;
import org.apache.lucene.search.Query;
import org.apache.lucene.search.ScoreDoc;
import org.apache.lucene.search.TopDocs;
import org.apache.lucene.store.RAMDirectory;
import org.apache.lucene.util.Version;
import o
elasticsearch 全文检索 跨域 cors    2017-07-19 20:47:25    3
参考官方doc地址:https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-http.html



添加如下配置:
 http.cors.enabled: true
 http.cors.allow-origin: /http?:\/\/192.168.10.139(:[0-9]+)?/

http.cors.enabled 开启跨域访问支持,默认为false
http.cors.allow-origin 跨域访问允许的域名地址,以上使用正则,域名这里我替换了IP


重启下服务即可


 

by 刘迎光@萤火虫工作室 
OpenBI交流群:495266201 
MicroService 微服务交流群:217722918 
mail: liuyg#liuyingguang.cn 
博主首页(==防止爬虫==):http://blog.liuyingguang.cn

elasticsearch 全文检索    2017-07-19 20:46:15    6

为了学习elasticsearch,跟着官方文档及网上例子操作了一些,整理记录下来,以供大家参考。

本文所用测试工具:火狐插件HttpRequester。
elasticsearch:2.3

----------------------------------------创建index---------------------------------------------

Content-Type: application/json

 -- response --
200 OK
Content-Type:  application/json; charset=UTF-8
Content-Length:  21

{"acknowledged":true}

----------------------------------------查询index---------------------------------------------


 -- response --
200 OK
Content-Type:  application/json; charset=UTF-8
Content-Length:  361

{
  "megacorp1" : {
    "aliases" : { },
    "mappings" : { },
    "settings" : {
      "index" : {
        "creation_date" : "1467844960627",
        "number_of_shards" : "5",
        "number_of_replicas" : "1",
        "uuid" : "3luuvHNGSf2RBYJHxRGUNg",
        "version" : {
          "created" : "2030399"
        }
      }
    },
    "warmers" : { }
  }
}

----------------------------------------创建type--------------------
elasticsearch restful    2017-07-19 20:41:59    2
为了学习elasticsearch,跟着官方文档及网上例子操作了一些,整理记录下来,以供大家参考。
本文所用测试工具:火狐插件HttpRequester。
elasticsearch:2.3

----------------------------------------创建文章---------------------------------------------
Content-Type: application/json
{
    "first_name" : "John",
    "last_name" :  "Smith",
    "age" :        25,
    "about" :      "I love to go rock climbing",
    "interests": [ "sports", "music" ]
}
 -- response --
200 OK
Content-Type:  application/json; charset=UTF-8
Content-Length:  127

{"_index":"megacorp","_type":"employee","_id":"1","_version":6,"_shards":{"total":2,"successful":1,"failed":0},"created":false}
----------------------------------------查询文章---------------------------------------------


 -- response --
200 OK
Content-Type:  application/json; charset=UTF-8
Content-Length:  278

{
  "_index" : "megacorp",
  "_type" : "employee",
  "_id" : "1",
  "_version" : 6,
  "found" : true,
  "_source" : {
    "first_name
VMware disk CentOS    2017-07-19 20:28:09    6
一大早启动虚机就出现问题了,没遇到过,郁闷中。。。
人家提示都说,不可恢复错误,晕眩中。。。
可是不甘心就这么算了,死马当活马医吧,折腾起来。。。
以前遇到过“VMware非正常关闭,导致无法获取虚拟机所有权的解决办法”,尝试,失败。。。继续想办法,删除了与自己认为无关的所有文件,然后启动,经过一系列操作,虚机居然活了(还好没有被VM提示的不可恢复错误给吓到),赶紧记录下,以供小伙伴们参考

环境分析:
1、VMware版本是12
2、虚机版本是CentOS6.5
3、虚机内部装有mysql及nexus等软件
错误截图:
问题分析:
分析不出问题来,估计是VM的程序错误,可是没办法使用程序恢复

解决办法:
1、首先删除虚机存储目录下的所有文件夹,很多事lck结尾的。
2、删除后缀为nvram的文件
3、如果有图标为挂起的文件,也一并删除

然后启动虚机,如果正常启动,那么当然不错,但是我的虚机却出现了其他问题,如下图(忘记截图,网上找图)

1、网上有相关的解决方案,不过我没有按照那些解决方案去做,有兴趣的朋友可以试下,不过做之前建议做好相关备份:http://lovesoo.org/linux-boot-error-unexpected-inconsistency-solution.html
2、我的做法:输入root用户密码,回车,然后输入“fsck -y”即可,由于我的磁盘部分文件找不到,所以中途VMware可能会弹出磁盘文件找不到的错,点击继续即可(虽然我的文件其实是在的,可不止为啥报找不到)


 

by 刘迎光@萤火虫工作室 
OpenBI交流群:495266201 
MicroService 微服务交流群:217722918 
mail: liuyg#liuyingguang.cn 
博主首页(==防止爬虫==):http://blog.liuyingguang.cn

11/14