Как запросить URL в поиске Azure - PullRequest
0 голосов
/ 19 марта 2019

Я сохраняю документ со следующими полями в поиске Azure, и все они доступны для поиска.

Согласно официальному документу поиск документа , я пытаюсь выполнить запрос по URL с ключевым словом контента hotel, но не получилось.

POST /indexes/hotels/docs/search?api-version=2017-11-11  
{  
  "search": "url:example.com AND hotel",  
  "searchMode": "all"  
}   

Обновление:

Я пытаюсь использовать стандартный токенайзер и имя домена blog.xuite.net анализатор успеха в качестве токена.

 "tokens": [
    {
        "token": "https",
        "startOffset": 0,
        "endOffset": 5,
        "position": 0
    },
    {
        "token": "blog.xuite.net",
        "startOffset": 8,
        "endOffset": 22,
        "position": 1
    },
    {
        "token": "yundestiny",
        "startOffset": 23,
        "endOffset": 33,
        "position": 2
    },
    {
        "token": "20050916",
        "startOffset": 34,
        "endOffset": 42,
        "position": 3
    },
 ]

Почему я могу искать по URL: blog.xuite.net ?

Ответы [ 2 ]

0 голосов
/ 29 марта 2019

Наконец, я решил использовать CustomAnalyzer с помощью tokenizer = standard_v2 и tokenFilters = LimitTokenFilter. Ниже приведены мои настройки индекса.

 "analyzers": [
    {
        "@odata.type": "#Microsoft.Azure.Search.CustomAnalyzer",
        "name": "domain_analyzer",
        "tokenizer": "standard_v2",
        "tokenFilters": [
            "my_limit"
        ],
        "charFilters": []
    }
],
"tokenizers": [],
"tokenFilters": [
    {
        "@odata.type": "#Microsoft.Azure.Search.LimitTokenFilter",
        "name": "my_limit",
        "maxTokenCount": 2,
        "consumeAllTokens": false
    }
],

Используя этот CustomAnalyzer, поле url , например

https://example.com/test.html 

будет индексироваться как example.com * только 1012 *.

Так что я могу искать по поиску = url: (example.com) И {ключевое слово}

0 голосов
/ 19 марта 2019

Одной из вещей, которую вы можете попробовать, является применение пользовательского анализатора к полю, содержащему это содержимое. Я на самом деле думаю, что токенайзер uax_url_email будет хорошо работать в вашей ситуации, но другой вариант - создать анализатор, который разбивает токены на такие символы, как // и /, используя Char Filters.

...