首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Solr:如何键入问题搜索?

Solr:如何键入问题搜索?
EN

Stack Overflow用户
提问于 2019-05-20 09:18:06
回答 1查看 182关注 0票数 2

我是solr的新手,我正在尝试建立一个问答系统。我已经索引了一些维基百科页面,比如尼古拉·特斯拉。Tesla

我的问题是:在Solr?中可以以及如何将查询键入为一个问题

我将维基百科页面拆分为“Content”(对应于SectionTitle),so...for查询pageTitle:Nikola Tesla --我的结果是:

代码语言:javascript
复制
"response":{"numFound":23,"start":0,"docs":[
{
        "sectionTitle":"First Paragraph",
        "pageTitle":"Nikola Tesla",
        "text":["Born and raised in the Austrian Empire, Tesla received an advanced education in engineering and physics in the 1870s and gained practical experience in the early 1880s working in telephony and at Continental Edison in the new electric power industry.]},
{
        "sectionTitle":"Early years",
        "pageTitle":"Nikola Tesla",
        "text":["Nikola Tesla was born an ethnic Serb in the village Smiljan, Lika county, in the Austrian Empire (present day Croatia), on 10 July [O.S. 28 June] 1856. etc..]}]
  }}

我的schema如下:

代码语言:javascript
复制
  <field name="id" type="string" indexed="true" required="true" stored="true"/>
  <field name="pageTitle" type="text_en" indexed="true" stored="true"/>
  <field name="sectionTitle" type="text_en" indexed="true" stored="true"/>
  <field name="title" type="text_en" indexed="true" stored="true"/>
  <field name="text" type="text_general" indexed="true" stored="true"/>

是否可以将查询键入为一个问题?以及如何显示与问题相似的结果?例如,,如上面所示.

如何键入查询When Nikola Tesla born? 并获得段落

代码语言:javascript
复制
"sectionTitle":"Early years",
"pageTitle":"Nikola Tesla",
"text":["Nikola Tesla was born an ethnic Serb in the village Smiljan, Lika county, in the Austrian Empire (present day Croatia), on 10 July [O.S. 28 June] 1856."]

或查询 / 并获取:

特斯拉在奥地利帝国出生和长大,接受了.?

提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-24 11:46:26

邻近搜索查找彼此之间的特定距离范围内的术语。 若要执行邻近搜索,请将倾斜字符~和一个数值添加到搜索短语的末尾。例如,要在文档中以10个单词搜索"apache“和”雅加达“,请使用以下搜索: “雅加达阿帕奇”10 此处所指的距离是与指定短语匹配所需的术语移动数。在上面的例子中,如果"apache“和”雅加达“在一个字段中相隔10个空格,但"apache”出现在“雅加达”之前,则需要超过10个术语移动,将"apache“一词移到一起,并将”apache“放在”雅加达“的右边,中间有一个空格。

您还可以尝试在您的情况下进行邻近搜索,如下所示。

代码语言:javascript
复制
text:"Nikola Tesla born?"~10

text:"Austrian Empire engineering"~10

text:"Tesla born?"~10

请参考solr管理工具中的图像。

对于text:"Nikola Tesla born?"~10

对于text:"Austrian Empire engineering"~10

对于text:"Tesla born?"~10,查询方式为"http://localhost:8983/solr/TestCore/select?q=text:"Tesla born?"~10"

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56217797

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档