簡體   English   中英

ElasticSearch:是否可以突出顯示查詢中的單詞而不是結果

[英]ElasticSearch: is it possible to highlight words in the query rather than the results

與我通常看到的相反,我們使用ElasticSearch。 我們存儲許多小文件,通常為1或2個字,例如,“軟件工程”,“汽車修理工”,“建築師”等職位。

然后,我們使用更長的字符串進行查詢,例如1000字的工作規范。 這樣,我們就可以將所有職稱顯示在工作規范的文本中。

它運作良好。 但是我想知道是否可以讓ElasticSearch在工作規范中突出顯示匹配的職位,即在查詢中突出顯示結果。 我嘗試了Highlight關鍵字,但是它沒有突出顯示查詢文本,而是突出顯示了結果。 我不確定如何使查詢在ElasticSearch響應中返回,更不用說是否可以突出顯示該查詢了。

您可能想知道為什么我需要ElasticSearch突出顯示查詢,難道我不就只是從文本中挑選出所有結果並自己突出顯示嗎? 是的,我可以,但是有很多事情需要考慮,例如阻止詞干和停用詞刪除。 例如,在ElasticSearch中進行標記化時,“ jquery”的詞根會被“ jqueri”修飾,因此可以找到它,但是如果我要突出顯示它,則必須對其進行取消設置以使其與原始文本匹配。 Elasticsearch還會刪除符號,因此terms & conditions將成為terms conditions ,如果我要手動突出顯示它,因為必須加回“&”符號,這將是一個問題。 還有其他一百個問題案例,因此是關於ElasticSearch是否可以為我做到的問題。

我非常確定不可能突出顯示查詢字符串-僅突出顯示索引中的文檔部分。

您可以嘗試在自己的索引中為查詢字符串本身建立索引,然后將第一個查詢的結果用作針對查詢字符串(在第二個索引中)的第二個查詢的查詢項。 然后,您可以突出顯示查詢字符串。 您每次都必須向ES提出額外的請求,但我認為它將滿足您的要求。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM