我正在使用solr来存储要在搜索引擎中使用的网络抓取搜索结果。 solr中我的文档结构如下:
{
单词:在从html获取的身体标记后收到的单词。
url:找到这个单词的网址。
频率:没有。在网址中找到这个词的时间。
}
当我在我的系统上运行Solr仪表板时,http://localhost:8983/solr/#/CrawlerSearchResults/query我能找到一个单词说“亚马逊”,查询“word:Amazon”,但直接搜索亚马逊我没有得到任何结果。你能帮帮我解决这个问题吗?
下面的图片链接。
First case
Second case (No results)
谢谢, Nilesh制作。
答案 0 :(得分:0)
在第二个示例中,将根据默认搜索字段搜索该值(因为您还没有提供字段名称)。默认情况下,这是一个名为_text_
的字段。
要支持只在没有字段名称的q
参数中键入查询,您可以设置默认字段名称以在URL中使用df=word
进行搜索,或使用edismax查询解析器({ {1}})和defType=edismax
参数(查询字段)。 qf
允许多个字段并为其提供权重,但在您的情况下,它只是qf
。
第二 - 你正在做的事似乎复制了Lucene在内部所做的事情,所以我不确定你为什么这样做(每个词都被称为a "令牌",每个计数称为术语频率。您可以编写自定义相似度,以根据这些参数添加自定义评分。