gpt4 book ai didi

java - 为什么我无法查询 SolrJ 的 URL?

转载 作者:行者123 更新时间:2023-12-01 16:10:50 24 4
gpt4 key购买 nike

我有一个 Solr 模式,其中有一个“url”字段:

   <fieldType name="url" class="solr.TextField"
positionIncrementGap="100">
</fieldType>

<fields>
<field name="id" type="string" stored="true" indexed="true"/>
<field name="url" type="url" stored="true" indexed="false"/>
<field name="chunkNum" type="long" stored="true" indexed="false"/>
<field name="origScore" type="float" stored="true" indexed="true"/>
<field name="concept" type="string" stored="true" indexed="true"/>
<field name="text" type="text" stored="true" indexed="true"
required="true"/>
<field name="title" type="text" stored="true" indexed="true"/>
<field name="origDoctype" type="string" stored="true" indexed="true"/>

<field name="keywords" type="string" stored="true" indexed="true"/>
</fields>
<uniqueKey>id</uniqueKey>
<defaultSearchField>text</defaultSearchField>
<solrQueryParser defaultOperator="OR"/>

我可以添加包含所有字段的 SolrInputDocuments,并使用文本字段和/或使用“概念”上的过滤器查询来查询它们。但是当我尝试查询特定的网址时,我没有得到任何结果。我的代码如下所示:

    SolrQuery query = new SolrQuery();
query.setQuery("url:" + ClientUtils.escapeQueryChars(url));
//query.setQuery("*:*");
//query.addFilterQuery("url:" + ClientUtils.escapeQueryChars(url));

List<Chunk> retCode = null;

try
{
QueryResponse resp = solrServer.query(query);
SolrDocumentList docs = resp.getResults();
retCode = new ArrayList<Chunk>(docs.size());
for (SolrDocument doc : docs)
{
LOG.debug("got doc " + doc);
Chunk chunk = new Chunk(doc);
retCode.add(chunk);
}
}
catch (SolrServerException e)
{
LOG.error("caught a server exception", e);
}
return retCode;

我尝试过使用和不使用 ClientUtils.escapeQueryChars,并且尝试使用“url:”查询或 url 上的过滤器查询。我从来没有得到任何返回。有什么提示吗?

最佳答案

“url”的实际类型是什么?在您的 schema.xml 中,您应该有一组“fieldType”元素,其中列出了构成数据类型的实际 Solr 支持类和过滤器。

对于“url”的“fieldType”,您对“class”属性感兴趣。例如。最基本的自由文本类型有一个 class="solr.TextField"。您可能使用的类型上有一些古怪的过滤器,Lucene/Solr 最终对数据的索引与您期望的不同。

下载 Luke 并直观地查看您的索引:

http://www.getopt.org/luke/

它将帮助您“查看”您的数据 - 就像我说的,也许它的存储方式与您期望的不同。

关于java - 为什么我无法查询 SolrJ 的 URL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1291182/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com