Мы экспериментировали с нашим экземпляром ElasticSearch, чтобы создать запрос, который найдет документ с текстом в неструктурированных форматах.Этот конкретный документ доставляет нам очень трудное время.
Это содержимое поля в документе под названием "Text
."
PUBLIC NOTICE – September 2013 NORTH DAKOTA BOARD OF NURSING 919 S 7th Street, Suite 504, Bismarck, ND 58504-5881; (701) 328-9777; Web Site www.ndbon.org PLEASE SHARE THIS INFORMATION WITH YOUR NURSING STAFF The North Dakota Board of Nursing took the following action during the September 19, 2013 meeting: Disciplinary/Board Action Action Name Registration # City/State Time frame Penalty fee Reprimand *Anderson, Merry 106815UAP Minot, ND N/A $200 * Practice without *Buboltz, Ann RN Applicant Redwood Falls, MN N/A $200 License/ Dockter, Amanda L13872 Kensal, ND N/A $900 Registration Jaffe, James R39137 Elkhart, IN N/A $600 *Miller, Cassandra RN Applicant Wahpeton, ND N/A $1,000 *Parker-Sundquist, Charla LPN Applicant Grand Forks, ND N/A $200 Extension of Cofer, Kelly R32728 & L11293 Grand Forks, ND 3 years $1,500 Previous Wattendorf.
Обратите внимание на конецтекстовый блок, фраза «Паркер-Сандквист, Чарла».
Нам нужно, чтобы этот документ возвращался в наборе результатов при поиске любого варианта имени Charla Parker-Sundquist.Прямо сейчас мы можем вернуть документ, если будем искать по Чарла Паркер-Санквист, или если мы будем искать по Паркер-Сандквист, Чарла.Однако мы попытались выполнить поиск по Charla R Parker-Sundquist (включая среднюю букву), и документ не возвращается.
Нам нужно настроить этот запрос (или создать дополнительный), который позволит внести небольшие изменения, такие как добавлениесредний инициал и все еще возвращает этот документ, , но , без запроса, в котором говорится, что должны быть возвращены все документы с хотя бы одним из условий поиска.Я полагаю, , что нам нужно было бы сделать с этим запросом, - это сказать, что мы хотим вернуть любые результаты, в которых присутствуют как минимум два из поисковых терминов и которые находятся в двух словах рядом друг с другом.
Вот запрос, как у нас сейчас.При этом соответствующий документ будет возвращен при поиске по двум вариантам, упомянутым выше.Но как только мы вводим в запрос среднюю букву, документ не возвращается.Пожалуйста, помогите мне понять, как мы можем настроить этот запрос, не сказав, что ЛЮБОЙ из 3 слов может быть в документе для его возврата.
{
"size": 150,
"query": {
"function_score": {
"query": {
"bool": {
"must": {
"bool": {
"should": [
{
"match_phrase": {
"text": {
"query": "charla r parker-sundquist",
"slop": 3
}
}
}
]
}
}
}
}
}
}
}
РЕДАКТИРОВАТЬ : согласно некоторым исследованиям, мы также пытались выполнить этот запрос, но этот вообще не возвращает никаких результатов, поэтому я не уверен, что синтаксис для этого выключен.
{
"size": 150,
"query": {
"function_score": {
"query": {
"bool": {
"must": {
"bool": {
"should": [
{
"span_near": {
"clauses": [
{
"span_multi": {
"match": {
"fuzzy": {
"text": {
"value": "charla",
"fuzziness": 2
}
}
}
}
},
{
"span_multi": {
"match": {
"fuzzy": {
"text": {
"value": "parker-sundquist",
"fuzziness": 2
}
}
}
}
}
],
"in_order": false,
"slop": 2
}
}
]
}
}
}
}
}
}
}