���ݿ�Ȩ�����ã�Ȩ��Խ��ѡ�еĻ���Խ��.
Ȩ������ģʽ:
[r|R](\\d*) [w|W](\\d*) [p|P](\\d*) [q|Q](\\d*) [i|I](\\d*)
��ĸr��R��ʾ���Զ����ݿ���ж�����, �����һ�����ֱ�ʾ��������Ȩ�أ������ĸr��R����û�����֣���Ĭ����10;
��ĸw��W��ʾ���Զ����ݿ����д����, �����һ�����ֱ�ʾд������Ȩ�أ������ĸw��W����û�����֣���Ĭ����10;<
��ĸp��P��ʾ�����������ȼ�, ����Խ�����ȼ�Խ�ߣ����������ȴ����ȼ���ߵ����ݿ��ж����ݣ� �����ĸp��P����û�����֣���Ĭ�����ȼ���0;
��ĸq��Q��ʾд���������ȼ�, ����Խ�����ȼ�Խ�ߣ�д�������ȴ����ȼ���ߵ����ݿ���д���ݣ� �����ĸq��Q����û�����֣���Ĭ�����ȼ���0.
��ĸi��I��ʾ��̬DBIndex, ���û�ͨ��threadLocalָ����dbIndex��ϣ�ʵ��rw֮�ϸ�����·�� һ��db����ͬʱ���ö��i����ͬ��db����������ͬ��i������ db0:i0i2,db1:i1,db2:i1,db3:i2�� �û�ָ��dbIndex=0��·�ɵ�db0����ֻ��db0��i0�� �û�ָ��dbIndex=1�����·�ɵ�db1��db2����db1��db2����i1�� �û�ָ��dbIndex=2�����·�ɵ�db0��db3����db0��db3����i2��
�磺db1: r10w10p2, db2: r20p2, db3: rp3�����Ӧ��������Weight: db1: Weight(r10w10p2) db2: Weight(r20p2) db3: Weight(rp3)
����������У���db1, db2��db3���������ݿ�Ķ������ֳ����������ȼ�: p3->[db3] p2->[db1, db2] �����ж�����ʱ����Ϊdb3�����ȼ���ߣ��������ȴ�db3���� ���db3�����ж��������ٴ�db1, db2�����ѡһ������Ϊdb2�Ķ�Ȩ����20����db1��10������db2��ѡ�еĻ��ʱ�db1����
��������ݿ�������û������Ȩ���ַ���������ΪȨ���ַ�����null, ��: db1: r10w10, db2, db3�����Ӧ��������Weight: db1: Weight(r10w10) db2: Weight(null) db3: Weight(null)
Ϊ�˼���2.4֮ǰ���ϰ汾����Ȩ���ַ�����nullʱ���൱��"r10w10p0q0", ������������ӣ�ʵ�ʵ����ݿ�Ȩ�������ǣ�db1: r10w10p0q0, db2: r10w10p0q0, db3: r10w10p0q0�� @author yangzhu @author linxuan add indexes i/I at 2011/01/21
The purpose of {@link Weight} is to ensure searching does not modify a{@link Query}, so that a {@link Query} instance can be reused.
{@link IndexSearcher} dependent state of the query should reside in the{@link Weight}.
{@link AtomicReader} dependent state should reside in the {@link Scorer}.
Since {@link Weight} creates {@link Scorer} instances for a given{@link AtomicReaderContext} ({@link #scorer(AtomicReaderContext,boolean,boolean,Bits)}) callers must maintain the relationship between the searcher's top-level {@link IndexReaderContext} and the context used to create a {@link Scorer}.
A Weight
is used in the following way:
Weight
is constructed by a top-level query, given a IndexSearcher
( {@link Query#createWeight(IndexSearcher)}). Weight
to compute the query normalization factor {@link Similarity#queryNorm(float)} of the query clauses contained in thequery. Scorer
is constructed by {@link #scorer(AtomicReaderContext,boolean,boolean,Bits)}.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|