`
shuangxileng
  • 浏览: 836 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

demo

 
阅读更多
package demo;

import java.io.*;
import java.util.*;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.FieldSelector;
import org.apache.lucene.search.ConstantScoreQuery;
import org.apache.lucene.search.Similarity;
import org.apache.lucene.store.*;
import org.apache.lucene.index.*;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.FieldSelector;
import org.apache.lucene.index.CorruptIndexException;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.search.IndexSearcher;
import org.apache.lucene.index.Term;
import org.apache.lucene.search.*;
import org.apache.lucene.util.*;
import org.apache.lucene.store.Directory;
import org.apache.lucene.analysis.standard.*;
import org.apache.lucene.search.FieldCache;

import net.xsh.pn.util.*;

public class hello {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
try {
IndexSearcher searcher = new IndexSearcher(new SimpleFSDirectory(
new File("C:\\DOCUME~1\\WANPEN~1\\LOCALS~1\\Temp\\GOODS")));

long values[] = FieldCache.DEFAULT.getLongs(searcher
.getIndexReader(), "brandid",
FieldCache.DEFAULT_LONG_PARSER);

Query query1 = new TermQuery(new Term("10000001", "西门子"));
TermQuery query2 = new TermQuery(new Term("10000001", "LG"));

BooleanQuery query = new BooleanQuery();
query.add(query1, BooleanClause.Occur.SHOULD);
query.add(query2, BooleanClause.Occur.SHOULD);

// /PhraseQuery pq = new PhraseQuery();
// /Term t0 = new Term("10000001", "西门子");

// /pq.add(t0);

// BooleanQuery bQuery = new BooleanQuery();
// Filter filter = new TermRangeFilter("sellPrice", "0001000.00",
// "0002000.00",
// true, true);

NumericRangeFilter<Float> filter = NumericRangeFilter
.newFloatRange("sellPrice", new Float(0F),
new Float(2000F), true, true);
// bQuery.add(new ConstantScoreRangeQuery("sellPrice", "0001000.00",
// "0002000.00",,true,true), BooleanClause.Occur.MUST);

DocSetCollector result = new DocSetCollector(1000, searcher
.maxDoc());

Query qs = NumericRangeQuery.newFloatRange("sellPrice", new Float(
0F), new Float(9000F), true, true);
// query.add(qs, BooleanClause.Occur.MUST);

searcher.search(query, result);
// searcher.search(query, filter, result);

DocSet ds = result.getDocSet();

org.apache.lucene.search.FieldCache.StringIndex si = FieldCache.DEFAULT
.getStringIndex(searcher.getIndexReader(), "10000001");
String terms[] = si.lookup;
int termIndex[] = si.order;
int nTerms = terms.length;

{// 单值 term
int counts[] = new int[nTerms];

for (DocIterator iter = ds.iterator(); iter.hasNext();) {
int term = termIndex[iter.nextDoc()];
int arrIdx = term - 1;
if (arrIdx >= 0 && arrIdx < nTerms)
counts[arrIdx]++;
}

Map map = new HashMap();
for (int i = 0; i < nTerms; i++) {
int c = counts[i];
if (c > 0) {
map.put(terms[i + 1], Integer.valueOf(c));
System.out.println(terms[i + 1] + "   :   "
+ String.valueOf(c));
}
}
int n = 0;
}
{// 多值 term 末级分类
DocSetCollector collector = new DocSetCollector(searcher
.getIndexReader().maxDoc() >> 1,// 6,
searcher.getIndexReader().maxDoc());

Term t = new Term("goodsctgyArray", "10000214");
int arr[] = new int[256];
int freq[] = new int[256];
TermDocs tdocs = searcher.getIndexReader().termDocs(t);
if (tdocs != null)
do {
int num = tdocs.read(arr, freq);
if (num == 0)
break;
for (int j = 0; j < num; j++)
collector.collect(arr[j]);

} while (true);
tdocs.close();

DocSet ds_term = collector.getDocSet();

int n = ds_term.intersectionSize(ds);
int m = n;

}
{// 多值 term 二级分类
DocSetCollector collector = new DocSetCollector(searcher
.getIndexReader().maxDoc() >> 1,// 6,
searcher.getIndexReader().maxDoc());

Term t = new Term("ctyLevel3", "10000214");
int arr[] = new int[256];
int freq[] = new int[256];
TermDocs tdocs = searcher.getIndexReader().termDocs(t);
if (tdocs != null)
do {
int num = tdocs.read(arr, freq);
if (num == 0)
break;
for (int j = 0; j < num; j++)
collector.collect(arr[j]);

} while (true);
tdocs.close();

DocSet ds_term = collector.getDocSet();

int n = ds_term.intersectionSize(ds);
int m = n;

}

long i = values[0];
long j = values[1];

} catch (Exception e) {
e.printStackTrace();
}

}

}
分享到:
评论

相关推荐

    Demo3D 程序 API 离线手册 20170331_Demo3D技术_demo3d_

    《Demo3D程序API离线手册20170331》是针对Demo3D技术的一款详尽的开发指南,旨在帮助开发者充分利用Demo3D的功能进行三维模拟和可视化应用的构建。Demo3D是一款强大的三维动画软件,广泛应用于工程、教育、游戏等多...

    S7ClientDemo_S7ClientDemo_s7clientdemo.exe_clientdemo怎么用_

    《S7ClientDemo:连接与操作西门子PLC的实用指南》 S7ClientDemo是一款专门用于连接和操作西门子S7系列PLC(Programmable Logic Controller)的软件工具。它允许用户通过其直观的界面进行数据读取、写入、监控以及...

    clientDEMO clientdemo调试软件

    《clientDEMO:一款强大的监控调试工具》 在IT行业中,高效的监控与调试能力是确保系统稳定运行的关键。clientDEMO就是这样一款专为监控和调试而设计的专业软件,它在网络管理领域扮演着不可或缺的角色。这款工具以...

    微信小程序学习demo:基础接口演示demo(源代码+截图)

    微信小程序学习demo:基础接口演示demo(源代码+截图)微信小程序学习demo:基础接口演示demo(源代码+截图)微信小程序学习demo:基础接口演示demo(源代码+截图)微信小程序学习demo:基础接口演示demo(源代码+截图)微信...

    小程序源码 移动端小商城DEMO (商城demo源码) (代码源)

    小程序源码 移动端小商城DEMO (商城demo源码) (代码源)小程序源码 移动端小商城DEMO (商城demo源码) (代码源)小程序源码 移动端小商城DEMO (商城demo源码) (代码源)小程序源码 移动端小商城DEMO (商城demo源码) ...

    微信小程序学习demo推荐:微赞社区(论坛demo)(适用1123(源代码+截图)

    微信小程序学习demo推荐:微赞社区(论坛demo)(适用1123(源代码+截图)微信小程序学习demo推荐:微赞社区(论坛demo)(适用1123(源代码+截图)微信小程序学习demo推荐:微赞社区(论坛demo)(适用1123(源代码+截图...

    各类网页设计项目demo演示

    增加3D相片demo增加文章note_jekyll更正图片档名增加作品集:表单删除tab选项卡的背景图更改posts/rwd的文章更改导航栏更正图片档名更正图片档名添加RWD文章各类网页设计项目demo演示各类网页设计项目demo演示各类...

    转盘抽奖demo 转盘抽奖demo

    转盘抽奖demo转盘抽奖demo转盘抽奖demo转盘抽奖demo转盘抽奖demo转盘抽奖demo转盘抽奖demo转盘抽奖demo转盘抽奖demo转盘抽奖demo转盘抽奖demo转盘抽奖demo转盘抽奖demo转盘抽奖demo转盘抽奖demo转盘抽奖demo转盘抽奖...

    支付宝当面付开发PHP Demo官网DEMO

    一、免责申明:官网DEMO 此DEMO仅供参考,实际开发中需要结合具体业务场景修改使用。 二、扫码支付中,如果商户通过异步通知来判断支付结果:需要严格按照如下描述校验通知数据的正确性。 1、商户需要验证该...

    高德地图2d demo新版全修改正确的demo(官网提供的demo有各种毛病需要修改)

    高德地图官网的开发文档全部偏向于3d地图,而缺乏对2d地图的讲解,所以我们只能跑demo但是2d的demo各种各样的毛病,通过好久我才将其修改完全,现在的demo可以正常运行!(在2022最新的as上) 经过修改,处理了高德...

    条形码、二维码扫描、生成Demo 完整源码

    下面将详细阐述ZXing的工作原理以及如何利用其开发一个完整的条形码、二维码生成与扫描的Demo。 首先,让我们了解一下条形码和二维码。条形码是一种用黑白相间的条纹表示数字和字母的信息编码方式,通常包括UPC...

    一些html页面或是效果的demo

    一些html页面或是效果的demo 一些html页面或是效果的demo 一些html页面或是效果的demo 一些html页面或是效果的demo 一些html页面或是效果的demo 一些html页面或是效果...

    微信小程序 小程序官方Demo (源码)

    微信小程序 小程序官方Demo (源码)微信小程序 小程序官方Demo (源码)微信小程序 小程序官方Demo (源码)微信小程序 小程序官方Demo (源码)微信小程序 小程序官方Demo (源码)微信小程序 小程序官方Demo (源码)微信小...

    微信小程序demo:商城(源代码+截图)

    微信小程序demo:商城(源代码+截图)微信小程序demo:商城(源代码+截图)微信小程序demo:商城(源代码+截图)微信小程序demo:商城(源代码+截图)微信小程序demo:商城(源代码+截图)微信小程序demo:商城(源代码+截图)...

    minio分片上传Demo.zip

    minio分片上传Demo.zipminio分片上传Demo.zipminio分片上传Demo.zipminio分片上传Demo.zipminio分片上传Demo.zipminio分片上传Demo.zipminio分片上传Demo.zipminio分片上传Demo.zipminio分片上传Demo.zipminio分片...

    全球DEMO大赛得奖作

    全球DEMO大赛得奖作品欣赏之一:幽灵古堡 (65K) &lt;br&gt;我们曾经给大家推荐过很多0DAY组织的自制DEMO,完全用源代码编写,是用来炫耀 &lt;br&gt;本组织技术的。而各组织之间的竞争也会通过全球DEMO大赛来进行,比赛规则...

    微信小程序学习demo:表单练习(源代码+截图)

    微信小程序学习demo:表单练习(源代码+截图)微信小程序学习demo:表单练习(源代码+截图)微信小程序学习demo:表单练习(源代码+截图)微信小程序学习demo:表单练习(源代码+截图)微信小程序学习demo:表单练习(源代码+...

    Android TCP Socket通信实例Demo源码Apk下载

    最近有个项目模块需要用到TCP Socket通讯,遇到了一个大坑,所以做了这个Demo。 本Demo主要实现了安卓(Android)TCP 客户端(Client)和服务器(Server)Demo的Socket通讯。以及对接硬件的项目数据在十六进制&&byte&&int...

    微信小程序服务端开发demo(源代码+截图)

    微信小程序服务端开发demo(源代码+截图)微信小程序服务端开发demo(源代码+截图)微信小程序服务端开发demo(源代码+截图)微信小程序服务端开发demo(源代码+截图)微信小程序服务端开发demo(源代码+截图)微信小程序...

    android 串口测试demo 代码简单 无bug 完美运行

    android 串口测试demo 代码简单 无bug 完美运行 android 串口测试demo 代码简单 无bug 完美运行 android 串口测试demo 代码简单 无bug 完美运行 android 串口测试demo 代码简单 无bug 完美运行 android 串口测试demo...

Global site tag (gtag.js) - Google Analytics