Java 索尔。奇怪的方面搜索结果

Java 索尔。奇怪的方面搜索结果,java,solr,Java,Solr,我提出这一要求: http://localhost:8983/solr/collection1/select/?indent=on&q=*:*&fl=*&facet=true&facet.field=id&rows=99 并查看下一个结果: <response> <lst name="responseHeader"> <int name="status">0</int> <int name="QTime">31</int>

我提出这一要求:

http://localhost:8983/solr/collection1/select/?indent=on&q=*:*&fl=*&facet=true&facet.field=id&rows=99

并查看下一个结果:

<response>
<lst name="responseHeader">
<int name="status">0</int>
<int name="QTime">31</int>
<lst name="params">
<str name="facet">true</str>
<str name="fl">*</str>
<str name="indent">on</str>
<str name="q">*:*</str>
<str name="facet.field">id</str>
<str name="rows">99</str>
</lst>
</lst>
<result name="response" numFound="28" start="0">...</result>
<lst name="facet_counts">
<lst name="facet_queries"/>
<lst name="facet_fields">
<lst name="id">
<int name="0579B002">1</int>
<int name="100-435805">1</int>
<int name="3007WFP">1</int>
<int name="6H500F0">1</int>
<int name="9885A004">1</int>
<int name="EN7800GTX/2DHTV/256M">1</int>
<int name="EUR">1</int>
<int name="F8V7067-APL-KIT">1</int>
<int name="GB18030TEST">1</int>
<int name="GBP">1</int>
<int name="IW-02">1</int>
<int name="MA147LL/A">1</int>
<int name="NOK">1</int>
<int name="SOLR1000">1</int>
<int name="USD">1</int>
<int name="UTF8TEST">1</int>
<int name="VA902B">1</int>
<int name="adata">1</int>
<int name="apple">1</int>
<int name="asus">1</int>
<int name="ati">1</int>
<int name="belkin">1</int>
<int name="canon">1</int>
<int name="corsair">1</int>
<int name="dell">1</int>
<int name="maxtor">1</int>
<int name="samsung">1</int>
<int name="viewsonic">1</int>
<int name="SP2514N">0</int>
<int name="TWINX2048-3200PRO">0</int>
<int name="VDBDB1A16">0</int>
<int name="VS1GB400C3">0</int>
</lst>
</lst>
<lst name="facet_dates"/>
<lst name="facet_ranges"/>
</lst>
</response>
更新

请求:

http://localhost:8983/solr/collection1/select/?indent=on&q=*&fl=id&rows=9999
答复:

<response>
<lst name="responseHeader">
<int name="status">0</int>
<int name="QTime">0</int>
<lst name="params">
<str name="fl">id</str>
<str name="indent">on</str>
<str name="q">*</str>
<str name="rows">9999</str>
</lst>
</lst>
<result name="response" numFound="28" start="0">
<doc>
<str name="id">GB18030TEST</str>
</doc>
<doc>
<str name="id">6H500F0</str>
</doc>
<doc>
<str name="id">F8V7067-APL-KIT</str>
</doc>
<doc>
<str name="id">IW-02</str>
</doc>
<doc>
<str name="id">MA147LL/A</str>
</doc>
<doc>
<str name="id">adata</str>
</doc>
<doc>
<str name="id">apple</str>
</doc>
<doc>
<str name="id">asus</str>
</doc>
<doc>
<str name="id">ati</str>
</doc>
<doc>
<str name="id">belkin</str>
</doc>
<doc>
<str name="id">canon</str>
</doc>
<doc>
<str name="id">corsair</str>
</doc>
<doc>
<str name="id">dell</str>
</doc>
<doc>
<str name="id">maxtor</str>
</doc>
<doc>
<str name="id">samsung</str>
</doc>
<doc>
<str name="id">viewsonic</str>
</doc>
<doc>
<str name="id">USD</str>
</doc>
<doc>
<str name="id">EUR</str>
</doc>
<doc>
<str name="id">GBP</str>
</doc>
<doc>
<str name="id">NOK</str>
</doc>
<doc>
<str name="id">3007WFP</str>
</doc>
<doc>
<str name="id">VA902B</str>
</doc>
<doc>
<str name="id">0579B002</str>
</doc>
<doc>
<str name="id">9885A004</str>
</doc>
<doc>
<str name="id">SOLR1000</str>
</doc>
<doc>
<str name="id">UTF8TEST</str>
</doc>
<doc>
<str name="id">EN7800GTX/2DHTV/256M</str>
</doc>
<doc>
<str name="id">100-435805</str>
</doc>
</result>
</response>

0
0
身份证件
在…上
*
9999
GB18030测试
6H500F0
F8V7067-APL-KIT
IW-02
MA147LL/A
阿达塔
苹果
华硕
ati
贝尔金
原则
海盗
戴尔
麦克斯托
三星
优派
美元
欧元
英镑
诺克
3007粮食计划署
VA902B
0579B002
9885A004
索尔1000
UTF8试验
EN7800GTX/2DHTV/256M
100-435805

我无法在此复制所有文档示例。

根据您的方面查询和结果,您的id为VS1GB400C3。 你能发布你的id字段定义吗,一些被索引的示例数据

还可以尝试查询id:VS1GB400C3,看看它找到了什么


这是自定义数据,除非您解释为什么理解某些结果而不理解其他结果,否则其他人无法知道。这有助于我们回答您的问题,并提供您问题的更多细节。

未经测试但半知情的推测

该值来自的文档可能已被删除。Lucene删除和文档更新将文档的旧版本标记为已删除(或删除),而不实际重写磁盘上的任何数据

因此,早期的文档将该术语插入到索引的术语词典中,然后可能被更新或删除。所以这个术语仍然在词典中,但是没有包含它的当前文档


expungeDeletes=true
发出一个或一个commit应该可以去掉这些无关的术语。

我可能错了。但是IIRC facetting返回该字段的每个唯一值(查询的非独立性),然后它将匹配查询的结果,并从中获得计数。因此,如果您只需要与查询对应的方面结果,那么应该将

facet.mincount=1

在查询中。

Its在您的\conf\sechma.xml文件中也检查您的is的定义是否如下:id****这是我的配置
<response>
<lst name="responseHeader">
<int name="status">0</int>
<int name="QTime">0</int>
<lst name="params">
<str name="fl">id</str>
<str name="indent">on</str>
<str name="q">*</str>
<str name="rows">9999</str>
</lst>
</lst>
<result name="response" numFound="28" start="0">
<doc>
<str name="id">GB18030TEST</str>
</doc>
<doc>
<str name="id">6H500F0</str>
</doc>
<doc>
<str name="id">F8V7067-APL-KIT</str>
</doc>
<doc>
<str name="id">IW-02</str>
</doc>
<doc>
<str name="id">MA147LL/A</str>
</doc>
<doc>
<str name="id">adata</str>
</doc>
<doc>
<str name="id">apple</str>
</doc>
<doc>
<str name="id">asus</str>
</doc>
<doc>
<str name="id">ati</str>
</doc>
<doc>
<str name="id">belkin</str>
</doc>
<doc>
<str name="id">canon</str>
</doc>
<doc>
<str name="id">corsair</str>
</doc>
<doc>
<str name="id">dell</str>
</doc>
<doc>
<str name="id">maxtor</str>
</doc>
<doc>
<str name="id">samsung</str>
</doc>
<doc>
<str name="id">viewsonic</str>
</doc>
<doc>
<str name="id">USD</str>
</doc>
<doc>
<str name="id">EUR</str>
</doc>
<doc>
<str name="id">GBP</str>
</doc>
<doc>
<str name="id">NOK</str>
</doc>
<doc>
<str name="id">3007WFP</str>
</doc>
<doc>
<str name="id">VA902B</str>
</doc>
<doc>
<str name="id">0579B002</str>
</doc>
<doc>
<str name="id">9885A004</str>
</doc>
<doc>
<str name="id">SOLR1000</str>
</doc>
<doc>
<str name="id">UTF8TEST</str>
</doc>
<doc>
<str name="id">EN7800GTX/2DHTV/256M</str>
</doc>
<doc>
<str name="id">100-435805</str>
</doc>
</result>
</response>
facet.mincount=1