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是一款强大的三维动画软件,广泛应用于工程、教育、游戏等多...
《S7ClientDemo:连接与操作西门子PLC的实用指南》 S7ClientDemo是一款专门用于连接和操作西门子S7系列PLC(Programmable Logic Controller)的软件工具。它允许用户通过其直观的界面进行数据读取、写入、监控以及...
《clientDEMO:一款强大的监控调试工具》 在IT行业中,高效的监控与调试能力是确保系统稳定运行的关键。clientDEMO就是这样一款专为监控和调试而设计的专业软件,它在网络管理领域扮演着不可或缺的角色。这款工具以...
微信小程序学习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(源代码+截图...
增加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仅供参考,实际开发中需要结合具体业务场景修改使用。 二、扫码支付中,如果商户通过异步通知来判断支付结果:需要严格按照如下描述校验通知数据的正确性。 1、商户需要验证该...
高德地图官网的开发文档全部偏向于3d地图,而缺乏对2d地图的讲解,所以我们只能跑demo但是2d的demo各种各样的毛病,通过好久我才将其修改完全,现在的demo可以正常运行!(在2022最新的as上) 经过修改,处理了高德...
下面将详细阐述ZXing的工作原理以及如何利用其开发一个完整的条形码、二维码生成与扫描的Demo。 首先,让我们了解一下条形码和二维码。条形码是一种用黑白相间的条纹表示数字和字母的信息编码方式,通常包括UPC...
一些html页面或是效果的demo 一些html页面或是效果的demo 一些html页面或是效果的demo 一些html页面或是效果的demo 一些html页面或是效果的demo 一些html页面或是效果...
微信小程序 小程序官方Demo (源码)微信小程序 小程序官方Demo (源码)微信小程序 小程序官方Demo (源码)微信小程序 小程序官方Demo (源码)微信小程序 小程序官方Demo (源码)微信小程序 小程序官方Demo (源码)微信小...
微信小程序demo:商城(源代码+截图)微信小程序demo:商城(源代码+截图)微信小程序demo:商城(源代码+截图)微信小程序demo:商城(源代码+截图)微信小程序demo:商城(源代码+截图)微信小程序demo:商城(源代码+截图)...
minio分片上传Demo.zipminio分片上传Demo.zipminio分片上传Demo.zipminio分片上传Demo.zipminio分片上传Demo.zipminio分片上传Demo.zipminio分片上传Demo.zipminio分片上传Demo.zipminio分片上传Demo.zipminio分片...
全球DEMO大赛得奖作品欣赏之一:幽灵古堡 (65K) <br>我们曾经给大家推荐过很多0DAY组织的自制DEMO,完全用源代码编写,是用来炫耀 <br>本组织技术的。而各组织之间的竞争也会通过全球DEMO大赛来进行,比赛规则...
微信小程序学习demo:表单练习(源代码+截图)微信小程序学习demo:表单练习(源代码+截图)微信小程序学习demo:表单练习(源代码+截图)微信小程序学习demo:表单练习(源代码+截图)微信小程序学习demo:表单练习(源代码+...
最近有个项目模块需要用到TCP Socket通讯,遇到了一个大坑,所以做了这个Demo。 本Demo主要实现了安卓(Android)TCP 客户端(Client)和服务器(Server)Demo的Socket通讯。以及对接硬件的项目数据在十六进制&&byte&&int...
微信小程序服务端开发demo(源代码+截图)微信小程序服务端开发demo(源代码+截图)微信小程序服务端开发demo(源代码+截图)微信小程序服务端开发demo(源代码+截图)微信小程序服务端开发demo(源代码+截图)微信小程序...
android 串口测试demo 代码简单 无bug 完美运行 android 串口测试demo 代码简单 无bug 完美运行 android 串口测试demo 代码简单 无bug 完美运行 android 串口测试demo 代码简单 无bug 完美运行 android 串口测试demo...